我是编程的新手,我一直在尝试弄乱 Python,但是当我尝试制作一个随机名称选择器从列表中选择一个随机名称时,我总是会遇到同样的错误.我还尝试删除代码选择的获胜者,并在“获胜者”列表中添加一个新名称,但它似乎不起作用。这是我现在拥有的短代码。
winners = ["Wane", "Trevor", "Franklin", "Martoz"]
winner = random.choice(winners)
winners.pop(winner)
winners.append("Michael")
print(winners)
最佳答案
如果你想从列表中删除一个项目,使用 .remove()
函数,如下所示:
>>> winners = ["a", "b", "c"]
>>> winners.remove("b")
>>> winners
['a', 'c']
.pop()
用于根据给定的索引从列表中提取元素,并返回从列表中删除的元素。出现您的错误是因为您试图根据列表中的元素(名称)而不是它的索引(它在列表中的位置)弹出。
如果你想坚持使用 pop
,也许不是选择一个随机名称,而是在列表中选择一个随机索引:
winners = ["Wane", "Trevor", "Franklin", "Martoz"]
winner = winners.pop(random.randrange(len(winners)))
关于python - 错误 : TypeError: 'str' object cannot be interpreted as an integer while trying to pick a random winner (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53951946/