Advertisement
jukaukor

ConsecutiveWins.py

Feb 12th, 2023
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. # wins = 20 = peräkkäisia klaavoja (tai voittoja)
  2. # n = 100 = heittojen lukumäärä
  3. # winProb = 0.9 = klaavan (voiton) todennäköisyys
  4. # ajo
  5. # pitäisi tulla todenäköisyys 0.47801876068115234
  6. # Juhani Kaukoranta 12.02.2023
  7.  
  8. def probOfWins(n,wins,winProb,saved=None):
  9. if saved == None:
  10. saved = {}
  11. ID = (n,wins,winProb) # dictionaryyn pelitiedot
  12. if ID in saved:
  13. return saved[ID]
  14. if wins > n or n <= 0: # mahdoton tapaus
  15. result = 0
  16. else:
  17. result = winProb**wins #
  18. for firstTail in range(1,wins+1):
  19. pr = probOfWins(n-firstTail,wins,winProb,saved)
  20. result += (winProb**(firstTail-1))*(1-winProb)*pr
  21. saved[ID] = result
  22. return result
  23. print(probOfWins(100,20,0.9,saved=None)) # ajoesimerkki antaa 0.7752991958795028
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement