news 2026/9/6 23:01:57

Python入门:流程控制语句

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python入门:流程控制语句

文章目录

  • 1. 条件分支语句
    • 1.1 if 语句
    • 1.2 `if - else` 语句
    • 1.3 `if - elif - else` 语句
    • 1.4 嵌套条件分支语句
    • 1.5 条件表达式(三元运算符)
  • 2. while循环语句
    • 2.1 基本使用
    • 2.2 无限循环(死循环)
    • 2.3 while 循环与 else 子句
    • 2.4 循环控制语句在while循环中的应用
    • 2.5 注意事项
  • 3. for循环语句
    • 3.1 基本使用
    • 3.2 不同可迭代对象的使用
    • 3.3 range() 函数结合 for 循环
    • 3.4 嵌套 for 循环
    • 3.5 for 循环与 else 子句
    • 3.6 循环控制语句在 for 循环中的使用

流程控制是 Python 编程的基础,用于控制程序执行顺序。本文用简洁实例讲解条件语句、while 循环、for 循环的用法,快速掌握核心逻辑。


1. 条件分支语句

条件分支语句允许程序根据不同的条件执行不同的代码块,这大大增强了程序的灵活性和逻辑处理能力。

1.1 if 语句

if语句是最基础的条件分支语句,用于判断一个条件是否为真,如果为真则执行相应的代码块。

  • 基本语法
ifcondition:# 当 condition 为 True 时执行的代码块statement(s)

其中,condition是一个布尔表达式,其结果为TrueFalsestatement(s)是要执行的代码,可以是一条或多条语句,这些语句需要保持相同的缩进(通常为4个空格)。

  • 示例
# 判断年龄是否是18岁以上。age=20ifage>=18:print("你已经成年了。")

1.2if - else语句

if - else语句在if的基础上增加了一个else分支,当if条件不成立时,执行else后面的代码块。

  • 基本语法
ifcondition:# 当 condition 为 True 时执行的代码块statement(s)_if_trueelse:# 当 condition 为 False 时执行的代码块statement(s)_if_false
  • 示例
# 判断是否成年(满18周岁)age=15ifage>=18:print("你已经成年了。")else:print("你还未成年。")

1.3if - elif - else语句

当需要判断多个条件时,可以使用if - elif - else语句。elifelse if的缩写,用于在if条件不成立时检查其他条件。

  • 基本语法
ifcondition1:# 当 condition1 为 True 时执行的代码块statement(s)_1elifcondition2:# 当 condition1 为 False 且 condition2 为 True 时执行的代码块statement(s)_2# 可以有多个 elif 语句elifcondition3:statement(s)_3else:# 当以上所有条件都为 False 时执行的代码块statement(s)_else
  • 示例
# 根据成绩评级score=85ifscore>=90:print("优秀")elifscore>=80:print("良好")elifscore>=60:print("及格")else:print("不及格")

1.4 嵌套条件分支语句

嵌套使用时,外层的条件分支语句先进行判断,若满足相应条件进入其代码块后,内层的条件分支语句会进一步进行判断,从而实现更细致的逻辑控制。

  • 示例
num=10ifnum>=0:ifnum==0:print("数字是零。")else:print("数字是正数。")else:print("数字是负数。")

1.5 条件表达式(三元运算符)

条件表达式是一种简洁的用于条件判断并赋值的语法结构。相比于传统的 if-else 语句,三元运算符可以让代码更加紧凑。

  • 基本语法
value_if_trueifconditionelsevalue_if_false# 为真的结果 if 条件 else 条件为假的结果
  • condition:这是一个布尔表达式,其计算结果为 True 或者 False。
  • value_if_true:当 condition 的结果为 True 时,整个三元运算符表达式返回的值。
  • value_if_false:当 condition 的结果为 False 时,整个三元运算符表达式返回的值。
  • 示例
# 判断一个数是偶数还是奇数num=10result="偶数"ifnum%2==0else"奇数"print(result)

三元表达式只适用于简单的逻辑判断 而不能适用于复杂的逻辑判断

2. while循环语句

while循环是 Python 中用于重复执行代码块的流程控制语句之一,只要指定的条件为真,就会持续执行循环体中的代码。

2.1 基本使用

  • 基本语法
whilecondition:# 循环体,当 condition 为 True 时重复执行的代码块statement(s)
  • condition:是一个布尔表达式,用于判断循环是否继续执行。每次循环开始前都会检查该条件,如果为True则执行循环体;如果为False则退出循环。
  • statement(s):是循环体,包含了要重复执行的代码,可以是一条或多条语句,这些语句需要保持相同的缩进(通常为 4 个空格)。
  • 执行流程
  1. 首先计算condition的值。
  2. 如果conditionTrue,则执行循环体中的代码。
  3. 循环体执行完毕后,再次计算condition的值。
  4. 重复步骤 2 和 3,直到conditionFalse,此时退出循环。
  • 示例代码
# 打印 0 到 4 的数字count=0whilecount<5:print(count)count=count+1
  1. 初始化变量count为 0。
  2. 然后进入while循环,检查count < 5这个条件,由于初始时count为 0,条件为True,所以执行循环体,打印count的值并将count加 1。
  3. 之后再次检查条件,只要count小于 5,循环就会继续执行,直到count变为 5 时,条件为False,循环结束。

2.2 无限循环(死循环)

如果 while 循环的条件始终为 True,则会形成无限循环。在实际应用中,无限循环通常用于需要持续运行的程序,例如服务器程序。

  • 示例
whileTrue:user_input=input("请输入内容(输入 'q' 退出):")ifuser_input=='q':breakprint(f"你输入的内容是:{user_input}")

在这个示例中,while True 会创建一个无限循环,程序会不断提示用户输入内容。如果用户输入 ‘q’,则使用 break 语句跳出循环,否则打印用户输入的内容。

2.3 while 循环与 else 子句

Python 的 while 循环可以带有一个可选的 else 子句。当 while 循环的条件变为 False 时,会执行 else 子句中的代码。如果循环是通过 break 语句终止的,则不会执行 else 子句。

  • 语法
whilecondition:# 循环体statement(s)else:# 当循环正常结束时执行的代码additional_statement(s)
  • 示例
count=0whilecount<5:print(count)count=count+1else:print("循环正常结束")

在上述代码中,当count从 0 递增到 5 时,while循环正常结束,此时会执行else子句,打印出 “循环正常结束”。

2.4 循环控制语句在while循环中的应用

  • break语句

break语句用于立即退出当前所在的循环,无论循环条件是否仍然为真。执行到 break 后,循环直接终止,程序会继续执行循环后面的代码。

count=0whileTrue:ifcount==3:breakprint(count)count=count+1

在这个例子中,使用while True创建了一个无限循环,但在循环体中通过if语句判断count是否等于 3,如果等于 3 则执行break语句,立即退出循环。

  • continue语句

continue语句用于跳过本次循环的剩余代码,直接进入下一次循环的判断,循环不会终止。

count=0whilecount<5:count=count+1ifcount==3:continueprint(count)

在上述代码中,当count等于 3 时,执行continue语句,跳过print(count)这一行代码,直接进入下一次循环,继续判断count < 5这个条件。

  • pass

pass语句是一个空操作,作为占位符使用,什么也不做,常用于确保语法的完整性,比如在定义函数、类等时,暂时不想写具体代码,可用 pass 占位。

2.5 注意事项

  • 避免无限循环(死循环)

如果while循环的条件始终为True,且循环体中没有合适的终止条件(如使用break语句),则会导致无限循环,程序会一直运行下去,消耗系统资源。例如:

whileTrue:print("这是一个无限循环")

为了避免这种情况,要确保循环条件在适当的时候能够变为False,或者在循环体中使用break语句来终止循环。

  • 循环变量的更新

while循环中,通常需要在循环体中更新用于控制循环条件的变量,否则可能会导致无限循环或不符合预期的结果。例如,在前面的例子中,通过count = count + 1来更新count的值,从而使循环条件在适当的时候变为False

3. for循环语句

for 循环是一种非常常用的流程控制语句,用于遍历可迭代对象(如列表、元组、字符串、字典等)中的元素。

3.1 基本使用

  • 基本语法
for变量in可迭代对象:# 循环体,对每个元素执行的操作代码块

在每次循环迭代中,变量会依次被赋值为可迭代对象中的一个元素,然后执行循环体中的代码块,直到可迭代对象中的所有元素都被遍历完。

3.2 不同可迭代对象的使用

  • 遍历列表
fruits=["apple","banana","cherry"]forfruitinfruits:print(fruit)

上述代码中,fruits 是一个列表,for 循环会依次将列表中的元素赋值给 fruit 变量,并打印出来。

  • 遍历字符串
word="hello"forcharinword:print(char)

这里 word 是一个字符串,循环会逐个字符地遍历字符串并打印。

  • 遍历元组
numbers=(1,2,3,4,5)fornuminnumbers:print(num*2)

此例中,numbers 是一个元组,循环将元组中的每个元素取出乘以 2 后打印。

  • 遍历字典
student={"name":"Alice","age":20,"grade":"A"}# 遍历字典的键forkeyinstudent:print(key)# 遍历字典的值forvalueinstudent.values():print(value)# 同时遍历字典的键和值forkey,valueinstudent.items():print(f"{key}:{value}")

字典有不同的遍历方式,可以只遍历键、只遍历值,或者同时遍历键和值。

3.3 range() 函数结合 for 循环

range()函数可以生成一个不可变的整数序列,常与 for 循环结合使用来控制循环次数。

  • 基本语法
- range(stop) # 生成从 `0` 开始,到 `stop-1` 的整数序列(不包含 `stop` 本身) - range(start, stop) # 生成从 `start` 开始,到 `stop-1` 的整数序列 - range(start, stop, step) # 生成从 `start` 开始,步长为 `step`,且小于 `stop`(若 `step` 为正)的整数序列
  • 示例
# 1. range(stop)foriinrange(5):print(i,end=" ")# 输出:0 1 2 3 4# 2. range(start, stop)foriinrange(2,7):print(i,end=" ")# 输出:2 3 4 5 6# 3. range(start, stop, step)foriinrange(1,10,2):# 步长为2(间隔1)print(i,end=" ")# 输出:1 3 5 7 9# 步长为负数(倒序)foriinrange(5,0,-1):print(i,end=" ")# 输出:5 4 3 2 1

3.4 嵌套 for 循环

可以在一个 for 循环内部再使用另一个 for 循环,常用于处理二维数据结构,如矩阵。

matrix=[[1,2,3],[4,5,6],[7,8,9]]forrowinmatrix:forelementinrow:print(element,end=" ")print()

上述代码通过嵌套 for 循环遍历了一个二维列表(矩阵)中的每个元素。

3.5 for 循环与 else 子句

在 Python 中,for 循环可以带有 else 子句,当循环正常结束(即没有被 break 语句中断)时,会执行 else 子句中的代码。

核心逻辑:else 子句只在循环正常结束时执行(即循环遍历完所有元素,没有被 break 语句中断)。

foriin范围:有数据执行的语句else没有数据执行的语句 numbers=[1,2,3,4,5]fornuminnumbers:ifnum==6:print("找到 6 了")breakelse:print("没有找到 6")

3.6 循环控制语句在 for 循环中的使用

  • break 语句用于立即终止当前所在的 for 循环。
foriinrange(10):ifi==5:breakprint(i)

当 i 等于 5 时,执行 break 语句,循环立即结束。

  • continue 语句用于跳过本次循环的剩余代码,直接进入下一次循环。
foriinrange(10):ifi%2==0:continueprint(i)

当 i 是偶数时,执行 continue 语句,跳过 print(i) 语句,直接进入下一次循环。

  • pass

pass语句是一个空操作,作为占位符使用,什么也不做,常用于确保语法的完整性,比如在定义函数、类等时,暂时不想写具体代码,可用 pass 占位。


掌握条件判断与循环语句,能让代码更清晰、高效。熟练运用流程控制,是写出规范、健壮 Python 程序的关键一步。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 23:01:05

51单片机自动节水灌溉系统设计:从传感器到水泵的完整实战

简介&#xff1a;基于单片机的自动节水灌溉系统课程设计文档&#xff0c;定位为面向计算机、自动化、农业工程等相关专业学生的毕业设计或课程设计参考资料。资源共1个文件&#xff0c;为doc格式文档&#xff0c;压缩包大小445KB&#xff0c;内容覆盖AT89C51单片机控制原理、主…

作者头像 李华
网站建设 2026/9/6 22:59:46

高频电子线路期末复习:构建知识地图,用10套题高效刷分

简介&#xff1a;高频电子线路期末考试题库10套&#xff0c;是面向通信工程、电子信息等专业学生的高频电路期末复习资料。内含1份doc文档&#xff0c;共10套模拟试卷与参考答案&#xff0c;文件体积仅968KB&#xff0c;便于打印和反复练习。内容覆盖小信号谐振放大器、调幅与检…

作者头像 李华
网站建设 2026/9/6 22:59:28

字幕制作工作流实战:语音识别与多行波形打轴全解析

做视频这么久&#xff0c;最烦的一步就是打轴。手动听写、逐句切时间、再修波形边缘&#xff0c;一条 10 分钟的视频能磨掉一下午。这次我们来看一个专门解决这个痛点的字幕制作工作流/编辑器&#xff0c;主打“语音识别 多行波形 打轴 分词 移除空隙”的组合体验&#xff…

作者头像 李华
网站建设 2026/9/6 22:58:52

基因工程生物安全与伦理实操指南:从实验室分级到申报全流程

简介&#xff1a;针对基因工程生物技术安全性与伦理问题整理的PPT课件&#xff0c;适合生物技术、生物工程、生物医学伦理等方向的学生和教师使用&#xff0c;也可用于科普讲座或课堂研讨。课件从三个层面展开&#xff1a;第一部分聚焦转基因生物的安全性评估、生态影响与健康影…

作者头像 李华
网站建设 2026/9/6 22:56:28

基于PLC的自动浇灌系统设计与调试实战全记录

简介&#xff1a;这是一份面向电气工程及自动化专业学生的课程设计/毕业设计文档&#xff0c;围绕基于PLC的自动浇灌系统&#xff0c;从课题背景、PLC与传感器选型到控制程序设计给出完整方案&#xff0c;适合需要完成同类课题或了解智能灌溉系统搭建的读者。文档为1个doc格式文…

作者头像 李华
网站建设 2026/9/6 22:55:59

2026电动两轮车选购指南:电池、电机、安全配置与避坑全解析

2026 年的电动两轮车市场&#xff0c;比手机圈还要卷。24 款热门车型从千元价位打到万元级电摩&#xff0c;雅迪、爱玛、九号、立马、小刀、永久、赛鸽、驰小虎、斯波兹曼这些品牌密密麻麻铺满货架。但问题也随之而来——同价位配置看着差不多&#xff0c;实际骑行差异却很大&a…

作者头像 李华