所以我正在尝试编写 21 点游戏的代码,但在我调用 calcuate_score() 之后,computer_score 不断精化为 0。这是我定义 computer_score 和 user_score 的地方:
import random
user_score = 0
computer_score = 0
cards = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10]
user_cards = []
computer_cards = []
这里是我定义 calculate_score() 并优化 user_score 和 computer_score 的地方:
def calculate_score(card_list):
user_score = sum(user_cards)
computer_score = sum(computer_cards)
if computer_cards.count(11) > 0 and computer_cards.count(10) > 0:
computer_score = 0
elif user_cards.count(11) > 0 and user_cards.count(10) > 0:
user_score = 0
if user_cards.count(11) > 0:
cards.remove(11)
cards.append(1)
elif computer_cards.count(11) > 0:
cards.remove(11)
cards.append(1)
这里是我调用 deal_cards() 的地方:
deal_cards = deal_card()
calculate_score(card_list=[user_score, computer_score])
if computer_cards.count(0) > 0 or user_score > 21:
print("lose")
else:
print("win")
PS:我还在学习python,所以请不要太提前回答。谢谢你