def uniform_random(lower_bound, upper_bound):
"""
Question 5.10: Generates uniform random number
within lower and upper bounds, inclusive
"""
num_outcomes = upper_bound - lower_bound + 1
result = None
while True:
result = 0
i = 0
while 1 << i < num_outcomes:
result = (result << 1) | getrandbits(1)
i += 1
if result < num_outcomes:
break
return result + lower_bound
评论列表
文章目录