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