我有一个列表,我想把这个列表中的一个随机元素分配给一个新变量五次,以生成一手牌。我已经找过了,我似乎不明白为什么随机选择正在导致错误。在
import random
cards = { '2' '3' '4' '5' '6' '7' '8' '9' 'J' 'Q' 'K' 'A' }
for newCard in range(5):
newDraw = random.choice(cards)
playerdeck.append(newDraw)
if newDraw in playerdeck:
playermatches = playermatches + 1
newDraw = oldDraw
当我试图运行它时,我得到了一个错误:
^{pr2}$
因此,请使用列表:
您使用了},而不是}来定义{}。因此,它是
{
和{[
和{set
。set
不是有序的,因此尝试对其进行索引是没有意义的。random.choice
需要索引到一个集合中,才能从中提取项。无论如何,一个快速的解决方法是替换这个:有了这个:
^{pr2}$编辑:同时在集合中的元素之间添加逗号。在
你的集合定义有问题。 当您并排有多个字符串时,python将它们连接起来,就像您使用
'A' + 'B'
一样。所以生成了一个只有一个元素的集合'23456789JQKA'
你不需要一个集合或列表来完成:
附言: 虽然集合不能被索引,但它们可以被迭代:
^{pr2}$注:订单可能不被保留。在
相关问题 更多 >
编程相关推荐