
1.2.5 控制语句
一般来讲,程序中的代码运行顺序都是自上而下的,但代码在运行的过程中可能需要反复执行一段代码,或者跳过一段代码。本节将讲解如何控制代码的运行顺序。
1.顺序语句
Python语句像其他编程语言一样,代码运行的顺序都是自上而下的,以下面示例代码为例:

运行结果如下:

解读一下上面代码的运行过程。
(1)先将数字100赋值给变量a。
(2)再将数字200赋值给变量b。
(3)再将a和b相加的结果赋值给变量c。
(4)最后输出变量c的结果。
注意:按顺序执行代码时,并不是绝对地自上而下运行每句代码,中途可能会做循环处理、条件分支处理等操作。
2.循环语句
1)for循环语句
for循环语句可以用来遍历任何可迭代序列,如字符串、列表和字典等,在循环序列中的每个项目时,可以对项目执行处理操作。
例如将'Pandas'这个字符串中的每个字符循环打印在屏幕上,示例代码如下:

运行结果如下:

再例如将列表['pandas','Python','Excel']中的每个元素循环打印在屏幕上,示例代码如下:

运行结果如下:

再例如将字典{'pandas':100,'Python':99,'Excel':88}中的每个键循环打印在屏幕上,示例代码如下:

运行结果如下:

如果希望将字典{'pandas':100,'Python':99,'Excel':88}中的每个键及对应的值循环打印在屏幕上,则可以使用字典的items()方法,示例代码如下:

运行结果如下:

2)while循环语句
while循环语句用来循环执行指定的代码块,当条件成立时一直循环,直到条件不成立时终止循环,示例代码如下:

运行结果如下:

解读一下上面代码的运行过程。
第1行,首先对变量n做初始化赋值;第2行,在while关键字后面写入循环的条件;第3和4行是while循环体中要循环的代码块,当变量n累加到不再小于5时,终止执行这两行代码,也就是终止while循环语句。
3.分支语句
编写分支语句首先要给定一个表达式,如果表达式返回值为布尔值True,则表示条件成立;如果表达式返回布尔值False,则表示条件不成立,可以根据返回的不同布尔值做不同的代码处理。
1)单条件判断
if单条件分支语句判断指定的表达式是否成立。如果成立,则执行if下面的代码块,示例代码如下:

运行结果如下:

条件判断成立需要处理,但如果条件不成立也需要处理呢?则可以将if与else配合,示例代码如下:

运行结果如下:

2)多条件判断
如果有多个条件判断,则可以将if与elif配合,例如要求n>90返回'优',n>80返回'良',n>60返回'中',否则返回'差',示例代码如下:

运行结果如下:

上面代码做了3个条件判断,每个判断都有对应的返回值,直到3个条件都不成立时,执行else下的返回值。
3)if三目运算
if三目运算是写在一行的,如果条件判断比较简单,则可以使用此种代码编写方式,示例代码如下:

运行结果如下:
