我不知道如何玩这个游戏,但我相信它的崩溃是由命名范围问题造成的。
(Python“假设”我们希望通过赋值在deal()中计算局部变量,所以第一个print语句抛出了这条错误消息。在函数中更改或创建的任何变量都是本地的,如果它尚未声明为全局变量),下面是工作正常的代码:from random import *
print("Sam's Casino")
cards = ['1','2','3','4','5','6','7','8','9','10','J',
'Q','K','1','2','3','4','5','6','7','8','9','10','J',
'Q','K','1','2','3','4','5','6','7','8','9','10','J',
'Q','K','1','2','3','4','5','6','7','8','9','10','J',
'Q','K']
shuffle(cards)
print(cards)
hand1 = []
hand2 = []
count = 0
def deal(cards):
global count
for card in cards:
if count < 4:
hand1.append(card)
count += 1
if count > 3 and count < 8:
hand2.append(card)
count += 1
deal(cards)
print(hand1)
print(hand2)
input('>')