pythone 3.3.2 age> = 24:TypeError:unorderable类型:str()> = int()

Raa*_*har 2 python

print("how old are you")
age = input(">")
if age >= 24:
print("you are getting old")
print (age)
else:
print("i don't care")
print (age)
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

if age >= 24:
TypeError: unorderable types:     str() >= int()
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 8

在Python 3上,input() 始终返回一个字符串值.使用int()类型转换它:

if int(age) >= 24:
Run Code Online (Sandbox Code Playgroud)

字符串值和int不可订购:

>>> '24' > 23
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() > int()
Run Code Online (Sandbox Code Playgroud)

注意,如果无法转换输入,则int()可以抛出ValueError异常:

>>> int('Why do you want to know my age?')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'Why do you want to know my age?'
Run Code Online (Sandbox Code Playgroud)