import random class Gambler(): def __init__(self, money): self.money = money def increaseMoney(self): self.money = self.money + 1 def decreaseMoney(self): self.money = self.money - 1 def setMoney(self, money): self.money = money aMoney = int(input("First Gambler starting money:")) bMoney = int(input("Second Gambler starting money:")) aWinProb = aMoney/(aMoney+bMoney) bWinProb = bMoney/(aMoney+bMoney) print("Player A Expected Winning Probability {}".format(aWinProb)) print("Player B Expected Winning Probability {}".format(bWinProb)) A = Gambler(aMoney) B = Gambler(bMoney) aWins = 0 bWins = 0 iterLim = 10000 for i in range(0,iterLim): while(True): num = random.random() if num < 0.5: A.decreaseMoney() B.increaseMoney() if num > 0.5: A.increaseMoney() B.decreaseMoney() if A.money == 0: bWins = bWins + 1 A.setMoney(aMoney) B.setMoney(bMoney) break if B.money == 0: aWins = aWins + 1 A.setMoney(aMoney) B.setMoney(bMoney) break print("Player A Winning Probability (Exp) = {}".format(aWins/iterLim)) print("Player B Winning Probability (Exp) = {}".format(bWins/iterLim))