我只是在玩列表,偶然发现了我的代码问题。我不知道为什么我的count()不能真正起作用,并显示正面和反面的最终总数。它显示0而不是新列表中的内容。我已经测试了打印新列表,它显示一旦循环完成,列表就会更新。
有人可以帮我解决这个问题,并解释我做错了什么吗?
谢谢!
import random
i = 0
spins = int(input ("How many spins do you want to do? "))
coin = ["heads", "tails"]
newList = []
while i < spins:
i = i+1
spin = random.sample(set(coin),1)
tallyCoin = spin
print (tallyCoin)
newList.append(tallyCoin)
if i >= spins:
print (newList)
totalHeads = newList.count("heads")
totalTails = newList.count("tails")
print ("the total heads for this round were: ", totalHeads)
print ("the total tails for this round were: ", totalTails)
答案 0 :(得分:0)
random.sample
返回一个列表,因此您要收集的列表中包含单个字符串而不是字符串。尝试使用random.sample(coin, 1)[0]
。