【发布时间】:2017-04-20 02:21:52
【问题描述】:
所以我有一个挑战,我必须创建一个程序来模拟掷硬币,方法是生成一个对应于正面或反面的随机数。当同时输出三个“H”(正面)或“T”(反面)时,我的程序应该停止。我试图让它工作,这是我到目前为止的代码:
import random
active=True
list1 = []
b = 0
while active:
l=random.randint(0,1)
b += 1
i='a'
if l == 0:
i = 'H'
else:
i = 'T'
list1.append(i)
if list1[:-3] is ['H','H','H']:
active = False
elif list1[:-3] is ['T','T','T']:
active = False
else:
active = True
print(list1),
似乎唯一不起作用的是检查 3 个相应的正面或反面的部分,有人知道我如何正确编码这部分吗?
【问题讨论】:
-
list1[-3:] 是你想要的。
-
另外,使用
==代替is进行比较。 -
实现上述两个 cmets,确实可以正常工作。
标签: python