Here is a code snippet that calculates the probability of the outcome of a two sided game based on the capability of each side. I used it in my football league simulator program
Could be used in any number of simulators which involve two parties. For equally strong parties, the result is calculated based on equal probability of all three outcomes.
It can be written in hundreds of different ways. Good Luck
from random import randrange #randrange form random module def calc_prob(strengths): """A function that receives an array of two numbers indicating the strength of each party and returns the winner""" if strengths[1]>strengths[0]:#Bring the bigger number to the first position in the array temp=strengths[0] strengths[0]=strengths[1] strengths[1]=temp prob1=abs(strengths[0]-strengths[1])#The relative strength of the 2 parties prob2=randrange(0,100)#To calculate the luck that decides the outcome if prob2 in range(0,33-prob1):#Check if the weaker party is capable of winning. The condition gets narrower with the increase in relative strengths of each parties return strengths[1] elif prob2 in range(33-prob1,66-prob1):#The middle condition return "Draw" else: return strengths[0]#Luck favors the stronger party and if relative strength between the teams is too large, the match ends up in favor of the stronger party #Example calc_prob([50,75]);#Always has to be a list to allow exchange #Can be programmed in hundreds of better ways. Good luck!