为什么我的if年龄语法不起作用? (初学Python)

时间:2013-10-18 19:13:33

标签: python

嗯,这是我使用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")

请帮助,谢谢。

2 个答案:

答案 0 :(得分: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()

让您更清楚地了解自己做错了什么。

答案 1 :(得分:0)

您无法将整数与引号进行比较,编译器会将其识别为字符串而不是int。

if age >= 13: