def deck():
cards = range(1, 12)
return choice(cards)
def player():
card1 = deck()
card2 = deck()
hand = card1 + card2
print card1, card2
while hand < 21:
choice = raw_input("Would you like to hit or stand?: ")
print choice
if choice == "hit":
hand2 = hand + deck()
print hand2
elif choice == "stand":
return hand
大家好,
我正在尝试在python中制作一个简单的二十一点游戏。我已经走到这一步,我似乎陷入困境。当我试着玩它时会问我是否要打或站立哪个好;但是,我的问题是它似乎每次都会产生新的卡片值。这意味着如果我要击中而不是站立,它将返回原始值而不是三张牌的新值。
正如你所知,我是编程的新手,所以感谢任何帮助,我想尽可能多地使用我自己的代码。
答案 0 :(得分:2)
如果我理解你的问题,那么可能
您hand2 = hand + deck()
内的if
正在创建问题。您正在为新值分配总和,甚至在任何地方都没有使用它。
您需要更新相同的hand
。所以用上面的语句替换: -
hand = hand + deck()
答案 1 :(得分:0)
if choice == "hit":
hand2 = hand + deck()
print hand2
“点击”块会修改hand2
而不是hand
。
if choice == "hit":
hand += deck()
print hand