【发布时间】:2015-08-16 13:21:43
【问题描述】:
我刚开始学习 python,我的第一个项目是一个基于文本的二十一点游戏。
pHand 是玩家手牌,pTotal 是玩家牌的总数。
for 循环似乎在第一次迭代后退出。当我在循环后打印 pTotal 和 pHand 时,它每次只显示第一张卡的值。
代码:
import random
f = open('Documents/Python/cards.txt', 'r')
deck = f.read().splitlines()
f.close
pTotal = 0
cTotal = 0
random.shuffle(deck)
pHand = [deck[0], deck[1]]
cHand = [deck[2]]
for x in pHand:
if deck[x][0] == '1' or deck[x][0] == 'J' or deck[x][0] == 'Q' or deck[x][0] == 'K':
pTotal += 10
elif deck[x][0] == 'A':
pTotal += 11
else:
pTotal += int(deck[x][0])
任何帮助将不胜感激!
【问题讨论】:
-
第一张卡片?第一张单卡或前两张卡添加为
[deck[0], deck[1]]。如果是第二种情况,则 for 循环运行正常。 -
不,正在打印的只是 [deck[0]。不过,谢谢,
-
我必须说,一个很棒的初学者问题 :);我在 python 中只有一周大:P
标签: python if-statement for-loop blackjack