我是python语言的初学者,我目前正在研究有关翻转三面硬币的问题,如头部,尾部和其他方面。这是我的代码:
import random
x= int(input("How many times would you flip a coin?:"))
head = 0
tail = 0
other = 0
for i in range(x):
p = random.randrange(0,2)
if p<=0.3:
print("It is head")
head = head + 1
elif (p>0.3 and p<=0.6):
print("It is tail")
tail = tail + 1
else:
print("It is other")
other = other + 1
print("The total number of head is",head)
print("The total number of tail is",tail)
print("The total number of other is",other)
我们被要求探索random.randrange函数,所以我不确定我是否已经完成了那个部分。程序确实执行但是我意识到只产生头部和尾部,而另一个面部似乎不是由程序产生的。 :)
答案 0 :(得分:2)
您没有正确使用randrange。您应该在解释器上试验它并检查Python文档。您会发现randrange(0,2)
会从range(0, 2)
返回一个随机值,而range(0, 2)
只会包含值0和1.您要检查的p值,例如: p <= 0.3,在这种情况下没有意义。修复它的一种方法是:
p = random.randrange(0, 3)
if p == 0:
do stuff
else if p == 1:
do other stuff
else:
do other other stuff