>>> from env_helper import info; info()
页面更新时间: 2023-04-15 21:16:22
运行环境:
    Linux发行版本: Debian GNU/Linux 12 (bookworm)
    操作系统内核: Linux-6.1.0-7-amd64-x86_64-with-glibc2.36
    Python版本: 3.11.2

1.8. 获取用户输入

前面说过,编写程序时无需知道变量的值就可使用它们。当然,解释器最终必须知道变量的 值,可它怎么知道我们不知道的事情呢?解释器只知道我们已告知它的内容,不是吗?未必如此。

你编写的程序可能供他人使用,无法预测用户会向程序提供什么样的值。 我们来看看很有用的函数 input

>>> input("The meaning of life: ")
The meaning of life:  90
'90'

这里在交互式解释器中执行了第一行( input(...) ),它打印字符串”The meaning of life:“, 提示用户输入相应的信息。我输入42并按回车。这个数被input(以文本或字符串的方式)返回, 并在最后一行被自动打印出来。通过使用int将字符串转换为整数,可编写一个更有趣的示例:

>>> x = input("x: ")
x:  3
>>> y = input("y: ")
y:  4
>>> print(int(x) * int(y))
12

对于上述在Python提示符( >>> )下输入的语句,可将其放在完整的程序中,并让用户提供 所需的值。 这样,这个程序将打印结果,即前述两个数的乘积。 在这种情况下,你编写程序时无需知道这些值。

注意

将程序存储在独立的文件中,让其他用户能够执行时,这种获取输入的方式将有用得多。

1.8.1. 先睹为快:if语句

为增添学习乐趣,这里提前说说 if 语句。通过使用 if 语 句,可在给定条件满足时执行特定的操作(另一条语句)。 一种条件是使用相等运算符( == ) 表示的相等性检查。没错,相等运算符就是两个等号。(一个等号用于赋值,还记得吗?)

你将条件放在 if 后面,再加上冒号,将其与后面的语句分开。

>>> if 1 == 2:
>>>     print('One equals two')
>>> if 1 == 1:
>>>     print('One equals one')
One equals one

条件不满足时什么都不做,但条件满足时,将执行冒号后面的语句(这里是一条 print 语句)。 需要注意的另一点是,在交互式解释器中输入 if 语句后,需要按两次回车键才能执行它。 因此,如果变量 time 指向的是以分钟为单位的当前时间,可使用如下语句检查当前是不是整型:

if time % 60 == 0:
    print('On the hour!')