Python Crash Course:使用int()接受数字输入

时间:2016-07-22 09:46:56

标签: python

我是编程新手。根据我的书,这段代码应该出错。

>>> age = input("How old are you? ")
How old are you? 21 
>>> age >= 18
   Traceback (most recent call last):
     File "<stdin>", line 1, in <module>
vTypeError: unorderable types: str() >= int()

在Sublime中我保存了一个.py文件:This is my .py file.

然后,在我尝试运行它的终端。它没有给我一个错误。 第一次,我通过输入21岁而没有引用它来运行它,它返回True。 然后,我输入17,它返回False。

首先,我的电脑如何知道它们是整数?我没有输入年龄= int(年龄)。

其次当我输入&#34; 21&#34;时,它返回True。没错。为什么会这样?

如何比较字符串和整数?
当我输入&#34; 17&#34;随着我的年龄,它再次回归真实。 **为什么会这样?

这次不仅要比较一个sting和一个整数,还要给出错误的答案。**

This is the screenshot of my terminal window

This is the respective terminal window after i installed python 3 This is my new .py file after installing python 3.

1 个答案:

答案 0 :(得分:2)

您使用的是Python 2,而本书的作者正在使用Python 3。

在Python 2 input尝试评估输入的值,因此字符串'21'实际上变为21 int

@Siddharth在评论中指出,str > int将始终在Python 2中评估为True。在Python 3中,它将引发书中提到的错误。