2017-03-31 26 views

回答

8

因为你忘了你的输入转换为数字,因为它代表它是一个字符串,在Python 2任字符串总是大于任何数字。

使用int(raw_input("What age are you?"))

(当你尝试比较字符串和一个数字,这是一个很好的设计决策的Python 3抛出一个错误。)

+1

Aaaaah yes,非常感谢 – NickJames

0

raw_input()功能使用输入字符串,因此,您应该将输入转换为int类型。

age = int(raw_input("What age are you?")) 
def old(n): 
if n >= 30: 
    print "You are older than some hills" 
else: 
    print "Youth" 

old(age) 

这将工作。

0

正如其他人所说,您需要将输入转换为整数。但是,如果用户输入一个字母,该程序将引发错误。为了确保不会发生这种情况,我建议使用try和except来完成输入,这可以按如下方式完成:

age = raw_input("What age are you?") 
try: 
    int(age) 
except ValueError: 
    print('That is not a number')