1

さて、Python 3 を使用するのは初めてで、問題に遭遇しました。私のスクリプトは、入力された年齢が 13 歳以上の場合はプレイするのに十分な年齢であると言うはずですが、年齢が 13 歳未満であっても十分な年齢であると言っています。 13.

これが私のスクリプトです:

print("How old are you?")

age = int(input())

if age >= "13":
    print("You are old enough to play! Let's get started!")
else:
    print("You are not old enough.")
    sys.exit("Oh dear")

助けてください、ありがとう。

4

2 に答える 2

6

文字列を整数と比較しています:

age = int(input())

if age >= "13":

Python 2 では、文字列は常に数値よりも大きくなります。代わりに数字を使用してください:

if age >= 13:

Python 3 では、文字列をそのような整数と比較すると、代わりにエラーが発生します。

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

あなたが間違っていることについてより明確なメッセージを提供します。

于 2013-10-18T19:15:11.643 に答える