Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # model_unfair_die.py
- from __future__ import division
- from random import random
- one_probability = .15
- two_probability = .16
- three_probability = .2
- four_probability = .12
- five_probability = .2
- six_probability = .17
- def unfair_die():
- p = rand_point_on_1_line = random()
- #print p
- if 0 <= p < one_probability:
- return "one"
- elif one_probability <= p < one_probability + two_probability:
- return "two"
- elif one_probability + two_probability <= p < one_probability + two_probability + three_probability:
- return "three"
- elif one_probability + two_probability + three_probability <= p < one_probability + two_probability + three_probability + four_probability:
- return "four"
- elif one_probability + two_probability + three_probability + four_probability <= p < one_probability + two_probability + three_probability + four_probability + five_probability:
- return "five"
- elif one_probability + two_probability + three_probability + four_probability + five_probability<= p < 1:
- return "six"
- num_rolls = 1000000
- one_c, two_c, three_c, four_c, five_c, six_c = 0,0,0,0,0,0
- for x in range(num_rolls):
- roll = unfair_die()
- if roll == "one":
- one_c += 1
- elif roll == "two":
- two_c += 1
- elif roll == "three":
- three_c += 1
- elif roll == "four":
- four_c += 1
- elif roll == "five":
- five_c += 1
- elif roll == "six":
- six_c += 1
- else:
- print
- print "BUG!!"
- break
- total = one_c + two_c + three_c + four_c + five_c + six_c
- print "total number of rolls =", total
- print "one_c/num_rolls =",one_c/num_rolls, "one_probability =", one_probability
- print "two_c/num_rolls =",two_c/num_rolls, "two_probability =", two_probability
- print "three_c/num_rolls =",three_c/num_rolls, "three_probability =", three_probability
- print "four_c/num_rolls =",four_c/num_rolls, "four_probability =", four_probability
- print "five_c/num_rolls =",five_c/num_rolls, "five_probability =", five_probability
- print "six_c/num_rolls =",six_c/num_rolls, "six_probability =", six_probability
- """
- Three Outputs
- total number of rolls = 1000000
- one_c/num_rolls = 0.149656 one_probability = 0.15
- two_c/num_rolls = 0.159512 two_probability = 0.16
- three_c/num_rolls = 0.199988 three_probability = 0.2
- four_c/num_rolls = 0.120031 four_probability = 0.12
- five_c/num_rolls = 0.200602 five_probability = 0.2
- six_c/num_rolls = 0.170211 six_probability = 0.17
- total number of rolls = 1000000
- one_c/num_rolls = 0.150449 one_probability = 0.15
- two_c/num_rolls = 0.160166 two_probability = 0.16
- three_c/num_rolls = 0.200517 three_probability = 0.2
- four_c/num_rolls = 0.119623 four_probability = 0.12
- five_c/num_rolls = 0.199388 five_probability = 0.2
- six_c/num_rolls = 0.169857 six_probability = 0.17
- total number of rolls = 1000000
- one_c/num_rolls = 0.149758 one_probability = 0.15
- two_c/num_rolls = 0.160076 two_probability = 0.16
- three_c/num_rolls = 0.199689 three_probability = 0.2
- four_c/num_rolls = 0.119786 four_probability = 0.12
- five_c/num_rolls = 0.200348 five_probability = 0.2
- six_c/num_rolls = 0.170343 six_probability = 0.17
- """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement