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
Probability calculator
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!
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.