如何在Python中比较字符串和整数?

时间:2015-11-28 23:27:27

标签: python string input int

我是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')

3 个答案:

答案 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_inputstr,您需要将其与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')