Python 2.7 raw_input

时间:2016-10-24 17:48:20

标签: python-2.7

age = raw_input("How old are you? ")
print(age)
if age>= 18:
    print("You can vote!")

我在python 2.7上运行此代码。我期待得到一个错误,但我没有。我认为变量年龄会有一个字符串值,如' 21'。这样,当我比较age>= 18时,它会标记我说你无法比较字符串和int。但事实并非如此。它运行得很好。

2 个答案:

答案 0 :(得分:1)

在Python 2.X中,您可以将字符串与整数进行比较,但字符串将始终被视为大于整数。 如果要将用户输入捕获为整数,请使用:

age = input("number here: ");

希望这有帮助!

答案 1 :(得分:0)

来自类似的问题,here:

你确实是对的,你正在比较一个字符串和一个int。但是,它不会标记你说你不能这样做。对于不相同的类型,它将简单地比较变量的类型(在本例中为int和str)。在python 3.x中,它使得这种比较是不可能的。偶然,在python 2.x中,比较将会("int" < "string"),这就是我们在这里看到的。