Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # wins = 20 = peräkkäisia klaavoja (tai voittoja)
- # n = 100 = heittojen lukumäärä
- # winProb = 0.9 = klaavan (voiton) todennäköisyys
- # ajo
- # pitäisi tulla todenäköisyys 0.47801876068115234
- # Juhani Kaukoranta 12.02.2023
- def probOfWins(n,wins,winProb,saved=None):
- if saved == None:
- saved = {}
- ID = (n,wins,winProb) # dictionaryyn pelitiedot
- if ID in saved:
- return saved[ID]
- if wins > n or n <= 0: # mahdoton tapaus
- result = 0
- else:
- result = winProb**wins #
- for firstTail in range(1,wins+1):
- pr = probOfWins(n-firstTail,wins,winProb,saved)
- result += (winProb**(firstTail-1))*(1-winProb)*pr
- saved[ID] = result
- return result
- print(probOfWins(100,20,0.9,saved=None)) # ajoesimerkki antaa 0.7752991958795028
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement