硬币模拟器-Python 3-使用列表和Count()

时间:2018-11-01 01:46:49

标签: python-3.x

我只是在玩列表,偶然发现了我的代码问题。我不知道为什么我的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)

1 个答案:

答案 0 :(得分:0)

random.sample返回一个列表,因此您要收集的列表中包含单个字符串而不是字符串。尝试使用random.sample(coin, 1)[0]