我是Python的新手。 我写了这个,当我在输入中输入一个字母时出现了这个错误:
TypeError: unorderable types: str() >= int()
这是我写的代码:
user_input = input('How old are you?: ')
if user_input >= 18:
print('You are an adult')
elif user_input < 18:
print('You are quite young')
elif user_input == str():
print ('That is not a number')
答案 0 :(得分:6)
你应该这样做:
user_input = int(input('How old are you?: '))
因此,当您明确地将输入转换为int时,它总是会尝试将输入转换为整数,并在输入字符串而不是int时引发 valueError 。要处理这些情况,请执行以下操作:
except ValueError:
print ('That is not a number')
因此,完整的解决方案可能如下所示:
try:
user_input = int(input('How old are you?: '))
if user_input >= 18:
print('You are an adult')
else:
print('You are quite young')
except ValueError:
print ('That is not a number')
答案 1 :(得分:1)
user_input
是str
,您需要将其与int
进行比较。 Python不知道如何做到这一点。您需要将其中一个转换为另一个类型以进行适当的比较。
例如,您可以使用int()
函数将字符串转换为整数:
user_input = int(input('How old are you?: '))
答案 2 :(得分:0)
user_input = input('How old are you?: ')
try:
age = int(user_input)
except ValueError:
print('Please use an integer for age')
continue # assuming you have this is an input loop
if user_input < 18:
print('You are quite young')