【发布时间】:2014-06-03 22:18:07
【问题描述】:
我一直在尝试用 Python 3.3.4 制作一个简单的游戏,在游戏开始时,我希望用户在 1 和 3 之间选择一个难度,如果他们放入了 1、2 或 3 以外的其他角色他们收到消息“无效输入”。
我已经编写了下面的代码,但是即使用户输入 1、2 或 3,我也无法使其正常运行,它会出现错误“无效输入”,我尝试过使用它各种组合都无济于事。我知道这是相当基本的,可能很简单,因为我是 Python 新手,所以我忽略了它。提前致谢。
while True:
while True:
cmd = input('Please select a diffuculty from 1 to 3, with three being the hardest: ')
if cmd in (1, 2, 3):
break
print ('Invalid input.')
if cmd == 1:
dopt = 3
continue
elif cmd == 2:
dopt = 4
continue
elif cmd == 2:
dopt = 5
continue
【问题讨论】:
-
在 python 3 中,输入函数返回字符串,而不是整数。
cmd in ('1', '2', '3')? -
还有,没有办法离开你的最外层
while... -
您可以使用
int(input("..."))将字符串输入转换为整数。 -
@AndyG 是的,但是如果有人输入“a”,他的程序就会出现值错误。我认为他宁愿告诉用户输入是错误的。
标签: python loops python-3.x while-loop