翻转3面硬币

时间:2017-03-08 11:19:32

标签: python

我是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函数,所以我不确定我是否已经完成了那个部分。程序确实执行但是我意识到只产生头部和尾部,而另一个面部似乎不是由程序产生的。 :)

1 个答案:

答案 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