注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性。
程序控制流程的概念
在计算机运行过程中,“下一条语句”决定了计算机是能够自动调整、自动反复操作,还是只能像计算器那样一步接着一步计算。这种决定“下一条语句”的机制,在程序设计语言中被称为控制流程(control flow)。
Python的三种程序控制流程
Python有三种控制流程:顺序结构、分支结构和循环结构。
顺序结构——按照语句队列前后顺序来确定下一条将要执行的依据。
分支结构——根据当前情况来选择下一条语句的位置。
循环结构——周而复始地执行一系列语句。
本节讲顺序结构和分支结构。顺序结构就是程序按照从上往下、从左至右的顺序执行,和现代人的阅读习惯没有区别。而分支结构则相对复杂,分为单分支结构、二分支结构、多分支结构,在此基础上我们还要学习条件判断及组合、程序的异常处理等。
单分支结构:
if <条件语句>:
<语句块>
<条件语句>的最后结果必须转换成布尔值。我们知道,Python中的任何对象都可以转换成布尔值,此前我们讲过“如何判定各类型的对象对应的布尔值”,详见Python零基础入门学习03:Python基本数据类型:布尔类型一节。
二分支结构:
if <条件语句>:
<语句块1>
else:
<语句块2>
举例如下:
if None:
print('o')
else:
print("None means False")
<<<None means False
二分支结构的紧凑形式:
<表达式1> if <条件语句> else <表达式2>
这种紧凑形式适用于简单表达式的二分支结构,如lambda表达式、列表推导式等。例子如下:
guess = eval(input())
print("猜{}了".format("对" if guess == 99 else "错"))
多分支结构
if <条件语句1>:
<语句块1>
elif <条件语句2>:
<语句块2>
...
else:
<语句块n>
分支结构的一个代码实例如下:
score = int(input())
if score >= 90:
print("评价为A。")
elif score >= 80:
print("评价为B。")
elif score >= 60:
print("评价为C。")
else:
print("评价为D。")
To be continued.