8、Python语法之流程控制
一 引子
流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构:顺序结构(之前我们写的代码都是顺序结构)、分支结构(用到if判断)、循环结构(用到while与for)
二 分支结构
2.1 什么是分支结构
分支结构就是根据条件判断的真假去执行不同分支对应的子代码。
2.2 为什么要用分支结构
人类某些时候需要根据条件来决定做什么事情,比如:如果今天下雨,就带伞。
所以程序中必须有相应的机制来控制计算机具备人的这种判断能力。
2.3 如何使用分支结构
2.3.1 if语法
用if关键字来实现分支结构,完整语法如下
2.3.2 if应用案例
案例1:
如果:女人的年龄 > 30岁,那么:叫阿姨
案例2:
如果:女人的年龄 > 30岁,那么:叫阿姨,否则:叫小姐
案例3:
如果:女人的年龄 >= 18并且 < 22岁并且身高 > 170并且体重 < 100并且是漂亮的,那么:表白,否则:叫阿姨
案例4:
如果:成绩 >= 90,那么:优秀
如果成绩 >= 80且 < 90,那么:良好
如果成绩 >= 70且 < 80,那么:普通
其他情况:很差
案例5:if嵌套
练习1: 登陆功能
练习2:
三 循环结构
3.1 什么是循环结构
循环结构就是重复执行某段代码块。
3.2 为什么要用循环结构
人类某些时候需要重复做某件事情。
所以程序中必须有相应的机制来控制计算机具备人的这种循环做事的能力。
3.3 如何使用循环结构
3.3.1 while循环语法
Python中有while与for两种循环机制,其中while循环称之为条件循环,语法如下
插图:while循环
3.3.2 while循环应用案例
案例一:while循环的基本使用
用户认证程序:
案例二:while+break的使用
使用了while循环后,代码确实精简多了,但问题是用户输入正确的用户名密码以后无法结束循环,那如何结束掉一个循环呢?这就需要用到break了!
案例三:while循环嵌套+break
如果while循环嵌套了很多层,要想退出每一层循环则需要在每一层循环都有一个break
案例四:while循环嵌套+tag的使用
针对嵌套多层的while循环,如果我们的目的很明确就是要在某一层直接退出所有层的循环,其实有一个窍门,就让所有while循环的条件都用同一个变量,该变量的初始值为True,一旦在某一层将该变量的值改成False,则所有层的循环都结束
案例五:while+continue的使用
break代表结束本层循环,而continue则用于结束本次循环,直接进入下一次循环
案例五:while+else的使用
在while循环的后面,我们可以跟else语句,当while 循环正常执行完并且中间没有被break 中止的话,就会执行else后面的语句,所以我们可以用else来验证,循环是否正常结束
如果执行过程中被break,就不会执行else的语句
练习1:
寻找1到100之间数字7最大的倍数(结果是98)
练习2:
3.3.3 for循环语法
循环结构的第二种实现方式是for循环,for循环可以做的事情while循环都可以实现,之所以用for循环是因为在循环取值(即遍历值)时for循环比while循环的使用更为简洁。
for循环语法如下
3.3.4 for循环应用案例
案例一:打印数字0-5
案例二:遍历字典
案例三:for循环嵌套
注意:break 与 continue也可以用于for循环,使用语法同while循环
练习一:
打印九九乘法表
练习二:
打印金字塔
__EOF__

本文链接:https://www.cnblogs.com/amgulen/p/13928650.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构