- 每个人的Python:数学、算法和游戏编程训练营
- 张益珲编著
- 777字
- 2022-07-27 18:18:57
1.4.4 流程控制语句
默认情况下,代码都是根据语句的先后顺序执行的,但是并非所有的程序逻辑都是顺序的,流程控制是一个程序的灵魂。条件语句、循环语句和中断语句是常用的流程控制语句。条件语句用来构建分支结构,即程序执行时根据条件选择要执行的逻辑,例如:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T28_28376.jpg?sign=1739013649-WTiNXYXfQp12rA4QZCM6hNfmrAOP1UR0-0-07224c46a0edbf22180f83023bcc7f9f)
对于if条件语句,如果其判定的条件结果为True,则会执行if代码块内的代码,否则会直接跳过。也可以将if与else结合使用,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T28_28378.jpg?sign=1739013649-ogHt7m2Uhw6q6zhx8S6HQobs3XD79adS-0-ba4bc71fbab48760737ab9a328277a2d)
在if-else语句中,如果要判定的条件结果为True,则会执行if代码块内部的代码,否则会执行else代码块内部的代码,if-else是一种常用的二选一结构。如果有多种分支条件,可以使用if-elif-else结构,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T28_28380.jpg?sign=1739013649-lr0nxMtYZt6ITT9ua0DEAD2A5oKXBiyG-0-c727bcf0f9b34a5f9f3a988ec6d26849)
循环语句用来使某段逻辑重复执行,Python中有while循环和for循环两种循环结构。while循环比较简单,其首先会进行循环条件的判定,如果条件满足,则会执行循环体中的代码,循环体中的代码执行完成后会再次进行循环条件的判断,如果依然满足循环条件,会重复执行循环体中的代码,直到循环条件不满足为止,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T29_28382.jpg?sign=1739013649-HQf6fjLtLlNeyGwtCWgWYZBOdXacbqy2-0-67ce889f2320d0c4fe187b23cd752e52)
while-else结构也可以组合使用,当不满足循环条件时,会执行else代码块中的代码,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T29_28384.jpg?sign=1739013649-bMwG8Gsj9rXBWbc4Q91gqbRpfCLZJbiu-0-af346e903064961d36017599e78b2ae1)
需要注意,一般在while循环体中都要对循环变量进行操作,否则可能会产生无限循环。for循环是Python中提供的一种专门用来进行集合遍历的结构,使用十分方便,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T29_28386.jpg?sign=1739013649-Iiz8Ow0As6cmnz2Cd1zrXAzJNVAN3SUD-0-2c5c692ee57d93ca1e719d20c421c7e7)
同样的,for-else也可以结合使用:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T29_28388.jpg?sign=1739013649-tk1Qa6ecIR5YZ1fOK0ZiVo1XXuzcduwr-0-650ceb59fcb5d809d3336c9be1dddc8b)
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-P29_11753.jpg?sign=1739013649-safVkH0CT1zidDfKp4FuexOOue4tQvLe-0-e0b7f3d1dedb994030fbee2b079ee02c)
循环语句通常需要配合中断语句一起使用,中断语句提供了一种方式可以快速地跳出循环而不用依赖循环变量。break语句可以直接跳出当前的循环结构,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T30_28390.jpg?sign=1739013649-HKMEPuWFXeMZirgnVufdMCZT7nWtYxvM-0-5fc180bc3e6a5e19102ad7bf73143646)
上面的代码中,当sum变量的值大于100的时候就会终止循环,使用break中断语句后,不改变循环变量的值也可以避免死循环的产生。Python中的中断语句除了break外,还有continue语句,continue语句的特点是跳过本次循环。需要注意,是跳过本次循环,而不是跳出循环结构,示例如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T30_28392.jpg?sign=1739013649-OQZHuawo3ZuEE8KF0NjTA5hgSUNoaXED-0-19907170d44e12489accef2bc0321fa2)
执行上面的代码,从打印信息可以看到,当count等于3时没有执行打印语句,即跳过了本次循环,直接进行循环条件的判定,进入下一轮循环。