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

2024-05-19 13:25:07 发布

您现在位置: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)

这是我得到的错误:

if age >= 24:
TypeError: unorderable types:     str() >= int()

Tags: youinputageif错误elseoldare
2条回答

age是字符串,而不是int。若要使其成为int,请使用int()函数,因此:

print("how old are you")
age = input(">")
if int(age) >= 24:
    print("you are getting old")
    print (age)
...

注意行:

if int(age) >= 24:

在Python 3上,input()总是返回一个字符串值。使用^{} type来转换它:

if int(age) >= 24:

字符串值和int不可排序:

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

请注意,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?'

相关问题 更多 >