1.6 获取用户输入
前面说过,编写程序时无需知道变量的值就可使用它们。当然,解释器最终必须知道变量的值,可它怎么知道我们不知道的事情呢?解释器只知道我们已告知它的内容,不是吗?未必如此。
你编写的程序可能供他人使用,无法预测用户会向程序提供什么样的值。我们来看看很有用的函数input(稍后将更详细地介绍函数)。
>>> input("The meaning of life: ")
The meaning of life: 42
'42'
这里在交互式解释器中执行了第一行(input(...)),它打印字符串"The meaning of life:",提示用户输入相应的信息。我输入42并按回车。这个数被input(以文本或字符串的方式)返回,并在最后一行被自动打印出来。通过使用int将字符串转换为整数,可编写一个更有趣的示例:
>>> x = input("x: ")
x: 34
>>> y = input("y: ")
y: 42
>>> print(int(x) * int(y))
1428
对于上述在Python提示符(>>>)下输入的语句,可将其放在完整的程序中,并让用户提供所需的值(34和42)。这样,这个程序将打印结果1428,即前述两个数的乘积。在这种情况下,你编写程序时无需知道这些值,对吧?
注意:将程序存储在独立的文件中,让其他用户能够执行时,这种获取输入的方式将有用得多。1.8节将介绍如何这样做。
先睹为快:if语句
为增添学习乐趣,这里提前说说原本要到第5章才介绍的内容:if语句。通过使用if语句,可在给定条件满足时执行特定的操作(另一条语句)。一种条件是使用相等运算符(==)表示的相等性检查。没错,相等运算符就是两个等号。(一个等号用于赋值,还记得吗?)你将条件放在if后面,再加上冒号,将其与后面的语句分开。
>>> if 1 == 2: print('One equals two')
...
>>> if 1 == 1: print('One equals one')
...
One equals one
条件不满足时什么都不做,但条件满足时,将执行冒号后面的语句(这里是一条print语句)。需要注意的另一点是,在交互式解释器中输入if语句后,需要按两次回车键才能执行它(其中的原因将在第5章介绍)。
因此,如果变量time指向的是以分钟为单位的当前时间,可使用如下语句检查当前是不是整点:
if time % 60 == 0: print('On the hour!')
领取专属 10元无门槛券
私享最新 技术干货