02_04、流程控制
前言—关于流程控制
1、定义:
流程控制,是执行某个事物的先后顺序,具体指控制程序的执行流程
2、执行流程分为三种结构:
顺序结构(之前我们写的代码都是顺序结构,不做过多介绍)
分支结构(用到if判断)
循环结构(用到while与for)
一、分支结构
1、单分支结构
1、关键字 if
2、格式
if 条件:
条件成立需要执行的子代码块
3、注意:
1. 条件成立,执行子代码块,需要缩进(不做限制,但一般4格)
2. 目前,只有if后的代码缩进之后,是if的子代码块
3. 一般冒号后面的都要缩进
4. 同属于一个代码块的子代码块,缩进量必须一样
2、双分支结构
1、关键字 if else
2、格式
if 条件:
条件成立之后的子代码块
else:
条件不成立的时候,执行的子代码块
3、注意
if else 两者要么执行这个,要么执行那个
3、多分支结构
1、关键字if elif elif....else
2、格式
if 条件:
条件成立之后执行的代码
elif 条件1:
条件不成立,条件1成立之后,执行的代码
elif 条件2:
条件和条件1都不成立,条件2成立执行的代码
...
else:
以上条件都不成立,执行的代码块
3、注意
else不是一定要写的
4、if语句之嵌套
if 条件:
条件成立之后执行的代码
if 条件:
条件成立之后执行的代码
else:
条件不成立的时候,执行的子代码块
else:
条件不成立的时候,执行的子代码块
5、if练习题
习题1:
登录功能,用户名是:ly, 密码:123
登录成功之后,打印:登录成功,否则,登录失败
习题2:
如果用户输入的是ly,就打印管理员,jason财务, tom保安,否则,其他人员
二、循环结构
1、while循环
1、while循环的格式
while 条件:
代码1
代码2
代码3
......
while的运行步骤:
步骤1:如果条件为真,那么依次执行:代码1、代码2、代码3、......
步骤2:执行完毕后再次判断条件,如果条件为True则再次执行:代码1、代码2、代码3、......,如果条件为False,则循环终止
2、while + break
用于跳出当前层的循环
3、标志位的使用
取一个变量名flag,令布尔值True赋值给flag变量名,此时变量名flag即可称为标志位
当给flag重新赋值(False)时,可用于结束整个while循环
4、
用于跳过本次循环,碰到continue,会立马执行循环条件的判断
5、
一般情况,else 跟 if 连用,但while + else也可以
当没有人为终断循环体时候,会执行else,否则,不走else
2、for 循环
1、使用for循环的意义
for循环能实现的功能,while循环都可以实现
但for的语法更简洁,取值也更方便
2、语法结构
for i in 可迭代对象: # 字符串,列表,元祖,字典,集合...
print(i) # i为可变变量名,i 值可以是任意的变量,如果没有好的变量名,一般叫i, j, k, v, item等
3、for循环使用的注意事项
1.for循环不能写数字
2.for循环应用于关于字典类型,循环字段暴露的是k
4、range 关键字
1. 第一种用法:
只写一个参数的情况,代表从0开始的有序数字,顾头不顾尾
2. 第二种用法:
写两个参数,可以自定义起始位置,顾头不顾尾
3. 第三种用法:
写三个参数,第三个参数代表步长,顾头不顾尾
5、知识扩展
制作豆瓣电影TOP250的跳转网页
https://movie.douban.com/top250?start=0&filter=
6、死循环
死循环的情况是不坚决能出现的
实际项目中,推荐使用for循环,一般不会造成死循环
7、
10、for循环的嵌套
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通