如何正确读取输入?

时间:2015-12-07 20:17:10

标签: python

我的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行),请告诉我!谢谢!

3 个答案:

答案 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。