我一直在尝试用python制作一个简单的21点游戏,但我似乎被卡住了,我的代码如下:
from random import choice
def deck():
cards = range(1, 12)
return choice(cards)
def diack():
card1= deck()
card2 = deck()
hand = card1 + card2
print hand
if hand < 21:
print raw_input("Would you like to hit or stand?")
if "hit":
return hand + deck()
elif "stand":
return hand
当我运行时,它似乎对“击中”有效,但当我输入“站”似乎也“击中”。你现在可能已经知道我对编程非常陌生。你们能帮我指出如何让我的游戏工作的正确方向吗(我想尽可能多地使用我的代码)。在
假设缩进正确:
您的
if
只是检查字符串"hit"
是否为真。所有非空字符串都为true,"hit"
为非空,因此这将始终成功。在你想要的是这样的:
^{pr2}$现在检查
raw_input
的结果是否是字符串"hit"
,这正是您想要的。在if "hit"
只测试字符串"hit"
是否存在,它确实存在。因此,不会执行elif
语句。在您需要捕获变量中的用户输入,然后根据该变量进行测试:
相关问题 更多 >
编程相关推荐