1

好吧,这是我使用 python 3 的第一天,我遇到了一个问题。我的脚本应该说如果输入的年龄超过 13 岁,你已经足够大了,但它说即使年龄低于 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 回答
0

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

if age >= 13:
于 2013-10-18T19:17:16.203 回答