Advertisement
Guest User

Rolling Dice Expected Value - Python

a guest
Nov 8th, 2023
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. import random
  2.  
  3. def nonconsec(n): #roll a die until you get a n 6s before an odd, then return the number of rolls
  4. counter = 0
  5. num_6=0
  6. while num_6<n:
  7. x=random.randint(1,6)
  8. #print(x)
  9. if x%2==1:
  10. counter=0
  11. num_6=0
  12. continue
  13. if x==6:
  14. num_6+=1
  15. counter+=1
  16. return counter
  17.  
  18. def consec(n): #roll a die until you get a n 6s in a row before an odd, then return the number of rolls
  19. counter = 0
  20. num_6=0
  21. while num_6<n:
  22. x=random.randint(1,6)
  23. if x%2==1:
  24. counter=0
  25. num_6=0
  26. continue
  27. if x==6:
  28. num_6+=1
  29. else:
  30. num_6=0
  31. counter+=1
  32. return counter
  33.  
  34. #sample average number of rolls before you get 'n' 6s, conditioning on no odds
  35. def nonconsec_average(n,k):
  36. avg=0
  37. for i in range(k):
  38. x=nonconsec(n)
  39. #print(x)
  40. avg+=x
  41. return avg/k
  42.  
  43.  
  44. #sample average number of rolls before you get 'n' 6s in a row, conditioning on no odds
  45. def consec_average(n,k):
  46. avg=0
  47. for i in range(k):
  48. x=consec(n)
  49. #print(x)
  50. avg+=x
  51. return avg/k
  52.  
  53. print(consec_average(5,100))
  54. print(nonconsec_average(5,100))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement