Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.16 KB | None | 0 0
  1. # model_unfair_die.py
  2.  
  3. from __future__ import division
  4. from random import random
  5.  
  6. one_probability = .15
  7. two_probability = .16
  8. three_probability = .2
  9. four_probability = .12
  10. five_probability = .2
  11. six_probability = .17
  12. def unfair_die():
  13.     p = rand_point_on_1_line = random()
  14.     #print p
  15.     if 0 <= p < one_probability:
  16.         return "one"
  17.     elif one_probability <= p < one_probability + two_probability:
  18.         return "two"
  19.     elif one_probability + two_probability <= p < one_probability + two_probability + three_probability:
  20.         return "three"
  21.     elif one_probability + two_probability + three_probability <= p < one_probability + two_probability + three_probability + four_probability:
  22.         return "four"
  23.     elif one_probability + two_probability + three_probability + four_probability <= p < one_probability + two_probability + three_probability + four_probability + five_probability:
  24.         return "five"
  25.     elif one_probability + two_probability + three_probability + four_probability + five_probability<= p < 1:
  26.         return "six"
  27.  
  28. num_rolls = 1000000
  29. one_c, two_c, three_c, four_c, five_c, six_c = 0,0,0,0,0,0
  30. for x in range(num_rolls):
  31.     roll = unfair_die()
  32.     if roll == "one":
  33.         one_c += 1
  34.     elif roll == "two":
  35.         two_c += 1
  36.     elif roll == "three":
  37.         three_c += 1
  38.     elif roll == "four":
  39.         four_c += 1
  40.     elif roll == "five":
  41.         five_c += 1
  42.     elif roll == "six":
  43.         six_c += 1
  44.     else:
  45.         print
  46.         print "BUG!!"
  47.         break
  48. total = one_c + two_c + three_c + four_c + five_c + six_c
  49.  
  50. print "total number of rolls =", total
  51.  
  52. print "one_c/num_rolls =",one_c/num_rolls, "one_probability =", one_probability
  53. print "two_c/num_rolls =",two_c/num_rolls, "two_probability =", two_probability
  54. print "three_c/num_rolls =",three_c/num_rolls, "three_probability =", three_probability
  55. print "four_c/num_rolls =",four_c/num_rolls, "four_probability =", four_probability
  56. print "five_c/num_rolls =",five_c/num_rolls, "five_probability =", five_probability
  57. print "six_c/num_rolls =",six_c/num_rolls, "six_probability =", six_probability
  58.  
  59. """
  60. Three Outputs
  61.  
  62. total number of rolls = 1000000
  63. one_c/num_rolls = 0.149656 one_probability = 0.15
  64. two_c/num_rolls = 0.159512 two_probability = 0.16
  65. three_c/num_rolls = 0.199988 three_probability = 0.2
  66. four_c/num_rolls = 0.120031 four_probability = 0.12
  67. five_c/num_rolls = 0.200602 five_probability = 0.2
  68. six_c/num_rolls = 0.170211 six_probability = 0.17
  69.  
  70. total number of rolls = 1000000
  71. one_c/num_rolls = 0.150449 one_probability = 0.15
  72. two_c/num_rolls = 0.160166 two_probability = 0.16
  73. three_c/num_rolls = 0.200517 three_probability = 0.2
  74. four_c/num_rolls = 0.119623 four_probability = 0.12
  75. five_c/num_rolls = 0.199388 five_probability = 0.2
  76. six_c/num_rolls = 0.169857 six_probability = 0.17
  77.  
  78. total number of rolls = 1000000
  79. one_c/num_rolls = 0.149758 one_probability = 0.15
  80. two_c/num_rolls = 0.160076 two_probability = 0.16
  81. three_c/num_rolls = 0.199689 three_probability = 0.2
  82. four_c/num_rolls = 0.119786 four_probability = 0.12
  83. five_c/num_rolls = 0.200348 five_probability = 0.2
  84. six_c/num_rolls = 0.170343 six_probability = 0.17
  85. """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement