到目前为止,在我们所看到的程序中,始终有一系列语句由Python严格按照自上而下的顺序忠实执行。如果您想更改其工作流程,该怎么办?例如,您希望程序根据不同情况做出一些决定并做不同的事情,例如根据一天中的时间打印“早安”或“晚安”? 您可能已经猜到了,这是使用控制流语句来实现的。在Python三种控制流语句- if ,for 和while 。 该if 声明该if 语句用于检查条件:如果条件为true,则运行一个语句块(称为if-block),否则处理另一个语句块(称为else-block)。在其他子句是可选的。 示例(另存为if.py ): number = 23
guess = int(input('Enter an integer : '))
if guess == number:
print('Congratulations, you guessed it.')
print('(but you do not win any prizes!)')
elif guess < number:
print('No, it is a little higher than that')
else:
print('No, it is a little lower than that')
print('Done')
输出: $ python if.py
Enter an integer : 50
No, it is a little lower than that
Done
$ python if.py
Enter an integer : 22
No, it is a little higher than that
Done
$ python if.py
Enter an integer : 23
Congratulations, you guessed it.
(but you do not win any prizes!)
Done
这个怎么运作 在此程序中,我们从用户那里猜测,并检查它是否是我们拥有的电话号码。我们将变量设置number 为所需的任何整数,例如23 。然后,我们使用input() 函数来猜测用户的猜测。函数只是程序的可重用部分。我们将在下一章中详细了解它们。 我们向内置input 函数提供一个字符串,该字符串将其打印到屏幕上并等待用户输入。输入内容并按kbd:[enter]键后,该input() 函数将以字符串形式返回我们输入的内容。然后,我们使用将该字符串转换为整数int ,然后将其存储在变量中guess 。实际上,int 是一个类,但是您现在所需要知道的就是可以使用它将字符串转换为整数(假设字符串在文本中包含有效的整数)。 接下来,我们将用户的猜测与我们选择的数字进行比较。如果它们相等,我们将打印一条成功消息。注意,我们使用缩进级别来告诉Python哪些语句属于哪个块。这就是为什么缩进在Python中如此重要的原因。我希望您坚持“一致的缩进”规则。你是? 请注意,该if 语句的末尾如何包含冒号-我们向Python指示后面紧跟着一条语句。 然后,我们检查猜测是否小于该数字,如果是,则通知用户他们的猜测必须比该数字高一点。我们在这里使用的elif 实际上是将两个相关if else-if else 语句组合为一个组合if-elif-else 语句的子句。这使程序更容易,并减少了所需的缩进量。 的elif 和else 语句也必须有(当然与适当的缩进,)在逻辑行随后的语句及其相应的块的端部的结肠 您可以在if 语句的if块内包含另一个语句if ,依此类推-称为嵌套if 语句。 请记住,elif 和else 部分是可选的。最小有效if 语句为: if True:
print('Yes, it is true')
Python完成if 与关联的elif 和else 子句一起执行complete语句之后,它将移至包含该if 语句的块中的下一个语句。在这种情况下,它是主块(程序开始执行的地方),下一条语句是该print('Done') 语句。之后,Python看到了程序的结尾并简单地完成了操作。 尽管这是一个非常简单的程序,但我已经指出了许多您应该注意的事情。所有这些都非常简单明了(对于C / C ++背景的人来说,这简直令人惊讶)。您将需要一开始就意识到所有这些事情,但是经过一些练习之后,您将对它们感到自在,这对您来说都是“自然的”感觉。 C / C ++程序员注意事项 switch Python中没有语句。您可以使用if..elif..else 语句执行相同的操作(在某些情况下,可以使用字典快速执行操作)
|