您在gold_room
以下位置执行此操作:
next = raw_input('> ')
if '0' in next or '1' in next:
how_much = int(next)
else:
dead('man, learn how to type a number')
它只检查是否为'0' in next or '1' in next
,所以‘2’不起作用并不奇怪,对吗?
您想要的就是这些路线
next = raw_input('> ')
try:
how_much = int(next)
except ValueError:
dead('man, learn how to type a number')
也可以无例外地做到这一点,但是请记住,避免像例外一样重要和根本的事情是一个非常糟糕的主意。我希望这本书至少在以后能使这一点变得清楚。
无论如何,所以我们知道那只int
接受数字,因此我们只检查一下:
if next.isdigit():
how_much = int(next)