![每个人的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=1739236337-ncK2M7hBRkfgQ5uMF935GXLSMsnD7SfY-0-108b001075009d8501e76b83cd43e923)
对于if条件语句,如果其判定的条件结果为True,则会执行if代码块内的代码,否则会直接跳过。也可以将if与else结合使用,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T28_28378.jpg?sign=1739236337-pPHCjM4n5T7NXVi46MkWbExwgz80bDQ6-0-e67e4e75fc16b714b7fc361e4b52f29b)
在if-else语句中,如果要判定的条件结果为True,则会执行if代码块内部的代码,否则会执行else代码块内部的代码,if-else是一种常用的二选一结构。如果有多种分支条件,可以使用if-elif-else结构,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T28_28380.jpg?sign=1739236337-y32ziQEvsVfI3ayYRsioDh9uRfajIZ2k-0-b889a27608a2f8e8db34531f2ec57280)
循环语句用来使某段逻辑重复执行,Python中有while循环和for循环两种循环结构。while循环比较简单,其首先会进行循环条件的判定,如果条件满足,则会执行循环体中的代码,循环体中的代码执行完成后会再次进行循环条件的判断,如果依然满足循环条件,会重复执行循环体中的代码,直到循环条件不满足为止,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T29_28382.jpg?sign=1739236337-jrLQpNcmjXXLDAmRlOnAjZ5CNsIAkxzB-0-f9a2840861a15755ce8fcb0d5808d52c)
while-else结构也可以组合使用,当不满足循环条件时,会执行else代码块中的代码,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T29_28384.jpg?sign=1739236337-CAX0FwJxT1XPGMYQR0qvZC7lXpd6DVXF-0-ec7154ba7a490d1e01477ed3be9d50ce)
需要注意,一般在while循环体中都要对循环变量进行操作,否则可能会产生无限循环。for循环是Python中提供的一种专门用来进行集合遍历的结构,使用十分方便,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T29_28386.jpg?sign=1739236337-AXSP0wbNG4jQ0xXJgFpcKZkHq2ZWiJ0H-0-8dbc99990fc67ea7c9d507d3038c2c0b)
同样的,for-else也可以结合使用:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T29_28388.jpg?sign=1739236337-xgTg7t2Xief53U1ON5lgGubfa9F7Gueq-0-f5eea40ef42687af5aeb7bb8a148539e)
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-P29_11753.jpg?sign=1739236337-DDzCPHdzY44upDMUjE8G83ltgiqjD3Hv-0-e33821b638431f6c7ee3c14634ca6887)
循环语句通常需要配合中断语句一起使用,中断语句提供了一种方式可以快速地跳出循环而不用依赖循环变量。break语句可以直接跳出当前的循环结构,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T30_28390.jpg?sign=1739236337-3USASqVWYxZrNq7sPBbB7qJulIBiBeEU-0-57d6674177c902629be4448a280a0879)
上面的代码中,当sum变量的值大于100的时候就会终止循环,使用break中断语句后,不改变循环变量的值也可以避免死循环的产生。Python中的中断语句除了break外,还有continue语句,continue语句的特点是跳过本次循环。需要注意,是跳过本次循环,而不是跳出循环结构,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T30_28392.jpg?sign=1739236337-3pHdidyM35bttwCm0XGirvuuzf8KyrDc-0-05bd36f2e7b30b49686f5e572ba89ae6)
执行上面的代码,从打印信息可以看到,当count等于3时没有执行打印语句,即跳过了本次循环,直接进行循环条件的判定,进入下一轮循环。