2
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()
4

2 に答える 2

8

Python 3 では、input() 常に文字列値を返します。int()タイプを使用して変換します。

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?'
于 2013-08-15T21:45:48.263 に答える
3

ageint ではなく文字列です。int にするには、次のint()関数を使用します。

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

次の行に注意してください。

if int(age) >= 24:
于 2013-08-15T21:46:04.630 に答える