我的monster_room功能有问题。无论输入是什么,它总是会选择elif选择(elif选择> 5:......)。这是功能:
def monster_room():
print "This is the monster room! How many monsters do you see?"
choice = raw_input("> ")
if choice < 5:
dead("More than that idiot!")
elif choice > 5:
print "More than you thought right?!"
print "Do you go to the Alien room or Frankenstien room?"
choice_one = raw_input("> ")
if choice_one == "alien":
alien_room()
elif choice_one == "frankenstien":
frankenstien_room()
else:
print "Type alien or frankenstien, DUMMY!"
monster_room()
else:
print "Type a number!"
monster_room()
如何让它读取输入?这也是我的第一个项目,我知道这是非常基本的,可能看起来粗糙,所以其他提示我也是开放的。如果您需要完整代码(99行),请告诉我!谢谢!
答案 0 :(得分:1)
您需要使用int()
将输入数据解析为数字类型,因为raw_input()
会返回一个字符串。
choice = int(raw_input("> "))
@Joran Beasley因为在保存方面受到了诽谤,你可以使用try except
块:
try:
choice = int(raw_input("> "))
except ValueError:
print "Type a number!"
monster_room()
答案 1 :(得分:0)
将输入转换为int
将解决它(当您使用它时它是string
)。这样做:
choice = int(raw_input("> "))
答案 2 :(得分:0)
您将进入&#34;输入一个号码!&#34;即使您输入5,因为您不允许使用&gt; =或&lt; =场景。
我同意,你必须将输入转换为int或float。