Python21点游戏参考之前的男人

2024-09-30 22:15:05 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我个人的挑战是用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时,它告诉我在赋值之前singlePlayerCardValuesinglePlayerCard2Value已经被引用。这让我有点困惑,因为我以前有过这个问题,我做了另一个简单的程序,但这里的结构不同。除了上面提到的问题外,它运行良好。另外,如果您有时间,请告诉我任何更好的解决方案,如果有必要的一些领域。你知道吗

一如既往,提前谢谢!:)


Tags: ofthe游戏yourifrandomtotalprint
1条回答
网友
1楼 · 发布于 2024-09-30 22:15:05

正如您在注释中所指出的,“赋值前引用”意味着您在给变量赋值之前已经提到了它。你知道吗

看来你的问题是:

if(singlePlayerCard == [1,2,3,4,5,6,7,8,9,10]):
    singlePlayerCardValue = singlePlayerCard

因为您的singlePlayerCard永远不等于列表[1,2,3,4,5,6,7,8,9,10],所以当变量是数字卡时,您不会给它赋值。你知道吗

==运算符不是检查列表是否包含值的方法。试试这个:

if(singlePlayerCard in [1,2,3,4,5,6,7,8,9,10]):
    singlePlayerCardValue = singlePlayerCard

相关问题 更多 >