所以,我个人的挑战是用python制作一个简单的21点游戏。我就是这样做的:
singlePlayerCard = random.choice(availableCards)
singlePlayerCard2 = random.choice(availableCards)
if(singlePlayerCard == [1,2,3,4,5,6,7,8,9,10]):
singlePlayerCardValue = singlePlayerCard
if(singlePlayerCard2 == [1,2,3,4,5,6,7,8,9,10]):
singlePlayerCard2Value = singlePlayerCard2
singlePlayerCardValueTotal = singlePlayerCardValue+singlePlayerCard2Value
print ("The total of your card values is %i"%singlePlayerCardValueTotal)
当打印singlePlayerCardValueTotal
时,它告诉我在赋值之前singlePlayerCardValue
或singlePlayerCard2Value
已经被引用。这让我有点困惑,因为我以前有过这个问题,我做了另一个简单的程序,但这里的结构不同。除了上面提到的问题外,它运行良好。另外,如果您有时间,请告诉我任何更好的解决方案,如果有必要的一些领域。你知道吗
一如既往,提前谢谢!:)
正如您在注释中所指出的,“赋值前引用”意味着您在给变量赋值之前已经提到了它。你知道吗
看来你的问题是:
因为您的
singlePlayerCard
永远不等于列表[1,2,3,4,5,6,7,8,9,10]
,所以当变量是数字卡时,您不会给它赋值。你知道吗==
运算符不是检查列表是否包含值的方法。试试这个:相关问题 更多 >
编程相关推荐