当前位置: 首页 > news >正文

Python 分支与循环完全指南——从 if/else 到 for 循环一网打尽

引言

各位大佬大家早中晚上嚎呀,又到了愉快的学习时间了,本文主要详解了python中分支与循环的内容,干货满满哦!

在 Python 编程中,流程控制是程序逻辑的核心。无论是条件判断还是重复执行,都离不开分支结构循环结构。本文将从零开始,结合详细的代码示例和注释,带你彻底搞懂 Python 中的 if/elif/else 分支以及 for 循环的各种用法,包括 range、嵌套、break、continue 以及 Python 独特的 for-else 机制。

一、程序的三种基本结构

任何复杂的程序都由以下三种基本结构组合而成:

  • 顺序结构:代码从上往下依次运行。
  • 分支结构:根据条件选择不同的执行路径。
  • 循环结构:重复执行某段代码,直到满足特定条件。

二、分支结构详解

2.1 单分支 if——条件满足才执行

单分支结构只有if语句,当条件为真时执行其内部的代码块,否则直接跳过。

print(1) print(2) if 1 != False: # 1 != False 结果为 True print(3) # 条件成立,执行 # 内部可以继续嵌套分支 if 7 > 8: # 条件不成立 print(4) # 不执行 print(5) # 只要外层的 if 成立,这行就会执行 print("the end")

2.2 双分支 if-else——二选一

双分支提供了两种互斥的路径,根据条件真假执行其中一个分支。

num = 16 if num > 10: if num > 15: print("强") else: # 10 < num <= 15 print("辣鸡") else: # num <= 10 if num < 5: print("mini") else: # 5 <= num <= 10 print("mid")

2.3 多分支 if-elif-else——可以有多种选择

elif是“else if”的缩写,用来处理多个互斥的条件分支。它可以有多个,最后的else可以省略

num = 30 if num > 80: print("111") elif num > 60: print("222") elif num > 40: print("333") else: print("444") # 所有条件都不满足时执行

2.4 三个关键字的含义

  • if:开头,如果满足某个条件。
  • elif:跟在 if 之后,与 if 是平行关系,表示“否则如果”。
  • else:最后剩余的所有条件,当前面所有条件都不满足时执行。

三、循环结构详解

3.1 for 循环的运行原理

for循环会依次将序列(如列表、字符串、range 生成的对象)中的每个元素赋予变量,并执行循环体。

# for 的运行原理:将 range 中的所有数字依次赋予 i for i in range(2, 5, 3): print(i) # 输出:2(因为 range(2,5,3) 生成 2,下一个是 5 但已经超出 end-1 的范围)

3.2 range() 函数详解

range(start, stop, step)用于生成一个整数序列,常和 for 配合使用。注意:包含 start,不包含 stop;当 step 为负数时可以实现递减遍历。

# 正向遍历 for i in range(1, 10): print(i) # 依次打印 1 到 9 递减遍历:当 start > stop 时,必须规定 step 为负值,否则返回空序列 for num in range(10, 5, -5): print(num) # 输出 10(因为 10-5=5,小于 stop=5,只输出 10)

3.3 循环嵌套——外层走一次,内层走一轮

循环嵌套可以实现类似“乘法表”的效果。外层循环每变化一次,内层循环就完整地执行一轮。

# 打印九九乘法表 for i in range(1, 10): # 外层控制行 for j in range(1, i+1): # 内层控制列 print(f"{i}x{j}={i * j}", end="\t") print("") # 换行

3.4 循环控制关键字:break 和 continue

  • break:直接终止整个循环,不再执行后续所有循环次数。
  • continue:跳出当前这一次循环,继续执行下一次循环(当前循环体中 continue 之后的代码不执行)。
for i in range(10): if i == 5: # break # 如果启用 break,只会打印 0~4 continue # 跳过 i==5 的情况,打印 0,1,2,3,4,6,7,8,9 print(i)

3.5 Python 独有的 for-else 语法

在 for 循环后可以跟一个else块。它的执行规则是:如果循环中没有执行 break,则在循环正常结束后执行 else 块;如果循环被 break 终止,则 else 不执行。这是一种检查循环是否被完整遍历的优雅方式。

# 示例一:break 被触发,else 不执行 for i in range(10): print(i) if i == 9: # 循环会在 i=9 时 break break else: print("the end") # 不会执行 示例二:没有执行 break,else 执行 for i in range(10): print(i) if i == 10: # 这个条件永远不会成立,所以 break 不触发 break else: print("the end") # 正常结束后打印

四、综合实战:水仙花数

最后,我们来看一个结合循环与判断的经典案例——找出 100~999 之间所有的水仙花数(每位数字的立方和等于该数本身)。

total = 0 for i in range(100, 1000): first = i // 100 # 百位 second = i // 10 % 10 # 十位 third = i % 10 # 个位 num = first ** 3 + second ** 3 + third ** 3 if i == num: total += i # 累加满足条件的数 print(total) # 输出 1301(153 + 370 + 371 + 407)

五、总结

  • 分支结构用ifelifelse实现条件判断。
  • 循环结构用for搭配range实现重复执行,并可嵌套。
  • break终止循环,continue跳过本次循环。
  • for-else是 Python 的特色,当循环未被 break 中断时执行 else 块。

掌握这些流程控制工具,你就有了编织程序逻辑的“经纬线”。从简单的判断到复杂的嵌套,一切都可以信手拈来。快动手实践吧!

http://www.cnnetsun.cn/news/3304656.html

相关文章:

  • Linux下Docker Compose里运行Nginx故障诊断Shell脚本
  • 多模态大模型驱动CV智能涌现:技术原理与应用实践
  • 项目深度分析报告--来自智谱Agent模式
  • 从零开始学Python:模块导入+range()函数,这是你入门的第一道坎!
  • 梅西要解的不是瑞士防线,而是一只不断收紧的钟
  • L3自动驾驶牌照背后的电子电气架构真相
  • 高匿名/透明代理原理对比——代理类型、匿名级别、X-Forwarded-For、检测方法与代理类型对比表
  • Z变换初值/终值定理:与拉普拉斯变换的4点对比及1个统一视角
  • STM32F446RE与AD7490的高精度数据采集系统设计
  • 现代C++高性能系统开发:从泛型编程到实战优化
  • N-Queen遗传算法Python实战:变异优先的工程化实现
  • ArgoCD 多环境镜像升级:基于 GitOps 的安全 Promotion 实践
  • 工业负载控制方案:TPD2015FN与PIC18F4455实战解析
  • Gemini AI在创业工作流中的集成应用:从市场调研到自动化内容生成
  • BEVFormer在Jetson Orin上的TensorRT部署实战
  • Unitree Go2四足机器人Gazebo仿真:SLAM与Nav2导航全流程实战
  • MCTS 自动驾驶规划实战:泊车场景 3 步构建代价函数与 UCB 调优
  • 湖南vi设计涉及元素、风格及适用场景等要点怎么选
  • ROS C++动态配置实战:构建可热更新的高级发布器与订阅器
  • SOCD Cleaner终极指南:告别游戏输入冲突,开启精准操作新时代 [特殊字符]
  • Razor IMU在ROS小车中的硬件驱动与坐标系对齐实战
  • 高压安全隔离技术:ISOM8710与PIC24FJ128GA310应用解析
  • 高压安全隔离系统设计与ISOM8710应用实践
  • HDMI 与 DisplayPort 对比评测:4K@144Hz 游戏场景下的 5 项关键指标
  • AI无法替代的具身判断:为什么此时此地的活决策不可建模
  • Git 2.45 团队协作实战:从邀请协作者到解决合并冲突的 5 个关键步骤
  • 【网络安全】又要到每年HVV时刻了,这几个常用威胁情报平台你收藏 了么?
  • 多维聚合实战:从Pandas MultiIndex到实时OLAP优化
  • printf函数从用户空间到内核空间的完整调用路径剖析
  • 库存管理系统选型指南 2024:5 类软件方案对比与中小微企业适配场景