![每个人的Python:数学、算法和游戏编程训练营](https://wfqqreader-1252317822.image.myqcloud.com/cover/137/44510137/b_44510137.jpg)
1.4.4 流程控制语句
默认情况下,代码都是根据语句的先后顺序执行的,但是并非所有的程序逻辑都是顺序的,流程控制是一个程序的灵魂。条件语句、循环语句和中断语句是常用的流程控制语句。条件语句用来构建分支结构,即程序执行时根据条件选择要执行的逻辑,例如:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T28_28376.jpg?sign=1739594525-Vb6vXM9NjIu2ELREBGP07qCyGZDjDg2k-0-3dcd8d9f1a207da693110859d1f40c54)
对于if条件语句,如果其判定的条件结果为True,则会执行if代码块内的代码,否则会直接跳过。也可以将if与else结合使用,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T28_28378.jpg?sign=1739594525-H8lwCu5F00SzmGC0FEawo4h4xrl1qUM3-0-1f54fed462d4d945f549855b7192434b)
在if-else语句中,如果要判定的条件结果为True,则会执行if代码块内部的代码,否则会执行else代码块内部的代码,if-else是一种常用的二选一结构。如果有多种分支条件,可以使用if-elif-else结构,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T28_28380.jpg?sign=1739594525-rx9CvReFIYssvPQUDug2winIj5aO4oZ4-0-d4f96666ab0a73c59292e293838ce386)
循环语句用来使某段逻辑重复执行,Python中有while循环和for循环两种循环结构。while循环比较简单,其首先会进行循环条件的判定,如果条件满足,则会执行循环体中的代码,循环体中的代码执行完成后会再次进行循环条件的判断,如果依然满足循环条件,会重复执行循环体中的代码,直到循环条件不满足为止,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T29_28382.jpg?sign=1739594525-tBNR7CtkNRfUiiQCa5dzkFgayQE4Q6in-0-6aa39570ef734f4e4be27ee56412fc31)
while-else结构也可以组合使用,当不满足循环条件时,会执行else代码块中的代码,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T29_28384.jpg?sign=1739594525-LNXX4Jso1y7iPHiCgbHof5jzPcoSe7EC-0-7e803d59a19dee9ebac485bde611aa4f)
需要注意,一般在while循环体中都要对循环变量进行操作,否则可能会产生无限循环。for循环是Python中提供的一种专门用来进行集合遍历的结构,使用十分方便,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T29_28386.jpg?sign=1739594525-2Erbbp8R8rZRHuG6q7T1h0OPni5MyL3Z-0-ccb96d8f4389f93f0536439f13400582)
同样的,for-else也可以结合使用:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T29_28388.jpg?sign=1739594525-E3yRMjzSpAEIVjHp70XGBXXhkXUNTSWb-0-8432b90e4532841bc6e216062eea50bb)
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-P29_11753.jpg?sign=1739594525-FNDXyLwtJBn8zQkSIjwFhtuWCNfNCODw-0-c40c3e13b4ad97b917f71f4d73c345df)
循环语句通常需要配合中断语句一起使用,中断语句提供了一种方式可以快速地跳出循环而不用依赖循环变量。break语句可以直接跳出当前的循环结构,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T30_28390.jpg?sign=1739594525-WjbJdkFbuaCk96llLQFN3QSwakZvTcMf-0-07efe082722cef371e6621491f905e94)
上面的代码中,当sum变量的值大于100的时候就会终止循环,使用break中断语句后,不改变循环变量的值也可以避免死循环的产生。Python中的中断语句除了break外,还有continue语句,continue语句的特点是跳过本次循环。需要注意,是跳过本次循环,而不是跳出循环结构,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T30_28392.jpg?sign=1739594525-3WQUr6yxHgyqwxEJEq5OWHFrXqCxWFxS-0-5ae67bf5081ecac2a29d2f2773022466)
执行上面的代码,从打印信息可以看到,当count等于3时没有执行打印语句,即跳过了本次循环,直接进行循环条件的判定,进入下一轮循环。