news 2026/7/12 10:45:54

Python 分支与循环:让你的代码学会“思考”与“重复”

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python 分支与循环:让你的代码学会“思考”与“重复”

在编程的世界里,分支循环是两大核心支柱——分支让代码拥有判断力,循环让代码具备重复执行的超能力。
今天,我们就从我的手搓教程代码里,挑出最经典的片段,带你彻底吃透 Python 的ifforrangebreakcontinue以及那些容易被忽略的细节。

一、分支结构(if / elif / else)

分支结构就像人生的岔路口,根据条件选择不同的路径。

1.最简单的双分支:比较大小

# 获取用户输入的第一个数字(字符串 → 浮点数) input_str1 = input("请输入第一个数字") value1 = float(input_str1) # 获取用户输入的第二个数字 input_str2 = input("请输入第二个数字") value2 = float(input_str2) # 判断 value1 是否大于 value2 if value1 > value2: print("第一个数大") # 条件成立时执行 else: print("第二个数大或相等") # 条件不成立时执行

2.多分支:成绩等级评定(0~100)

# 输入成绩字符串,转为整数 input_score_str = input("输入一个成绩:") score_value = int(input_score_str) # 先判断成绩是否合法(0~100 之外不合法) if score_value < 0 or score_value > 100: print("成绩不合法") else: # 合法成绩再分等级 if score_value >= 90: print("优秀") elif score_value >= 70: # 70 ≤ score < 90 print("良好") elif score_value >= 60: # 60 ≤ score < 70 print("及格") else: # score < 60 print("渣渣")

3.分支嵌套 + 用户交互(年龄验证 + 二次确认)

# 输入年龄 age = int(input("请输入你的年龄:")) # 根据年龄分三种情况 if age >= 18: print("可以查看") # 成年直接放行 elif 18 > age > 10: # 10 < age < 18 print("是否继续查看") # 嵌套分支:让用户输入 Yes 或 No tishi = str(input("请输入Yes或No:")) if tishi == "Yes" or tishi == "Y" or tishi == "y" or tishi == "yes": print("请查看") # 用户同意 elif tishi == "No" or tishi == "N" or tishi == "n" or tishi == "no": print("退出,放弃查看") # 用户拒绝 else: # age ≤ 10 print("不允许查看")

二、循环结构(for 循环)

Python 中最常用的循环是for,它擅长遍历任何可迭代对象(列表、字符串、range序列等)。

1.基础遍历:逐个打印列表中的元素

# 定义一个列表,依次将元素赋值给变量 i for i in [1, 2, 3, 4, 5]: print(i) # 打印当前元素

2. 配合range()生成整数序列

range(start, stop, step)是 Python 内置的整数生成器,左闭右开(包含start,不包含stop)。

# 查看 range 到底生成了什么(转为列表便于观察) r = range(5) # 0,1,2,3,4 datas = list(r) # 转换为列表 print(datas) # [0, 1, 2, 3, 4] r2 = range(1, 5) # 1,2,3,4 datas2 = list(r2) print(datas2) # [1, 2, 3, 4] r3 = range(1, 9, 2) # 1,3,5,7 (步长为2) datas3 = list(r3) print(datas3) # [1, 3, 5, 7] r4 = range(16, 0, -3) # 16,13,10,7,4,1 (步长为-3,倒序) datas4 = list(r4) print(datas4) # [16, 13, 10, 7, 4, 1]
# 遍历 range 生成的数字并打印 for a in range(1, 16, 2): # 1,3,5,7,9,11,13,15 print(a)

3.经典应用:计算 1~100 的和

total = 0 # 累加器初始为 0 for b in range(1, 101): # 遍历 1 到 100 total = total + b # 每次累加当前数 print(total) # 输出 5050

4.水仙花数(100~1000 之间的三位数)

total = 0 # 遍历所有三位数(100 到 999,但 range(100,1001) 包含 1000,不过 1000 不是三位数,但立方和不会等于自身,所以不影响) for x in range(100, 1001): # 拆解百位、十位、个位 bai = x // 100 % 10 shi = x // 10 % 10 ge = x % 10 # 计算各位立方和 shuixianhua = bai ** 3 + shi ** 3 + ge ** 3 # 判断是否为水仙花数 if x == shuixianhua: total = total + x # 累加符合条件的数 print(f"水仙花数有:{shuixianhua}") print(f"水仙花数的和是:{total}")

三、循环控制利器:break、continue 和 for...else

1.break:立即终止整个循环

# 循环 0~9,但 break 在第一次就触发了 for i in range(10): break # 执行到这里,循环立刻结束,后面的 print 不会执行 print(i) # 这行代码永远不会运行

2.continue:跳过本次循环,直接进入下一次

# 遍历 0~19 for i in range(20): if i == 3: continue # 当 i=3 时,跳过下面的 print,直接进入 i=4 print(i) # 输出除了 3 以外的 0~19 所有整数

3.for...else:循环没有被break中断时才执行else

# 遍历 0~14 for i in range(15): print(i) # 打印当前 i if i == 12: break # 当 i=12 时 break,循环提前结束 else: print("the end") # 因为 break 了,所以 else 不会执行 # 如果将 break 条件改为 i == 20(永远不会成立),则 else 会执行

应用场景:常用于在循环中查找某个元素,如果找到了就break,没找到则执行else里的“未找到”处理逻辑。

四、嵌套循环:循环里面套循环

外层循环每变化一次,内层循环都会完整执行一轮。

# 三层嵌套,展示所有组合 for i in range(1, 3): # i = 1, 2 for j in range(1, 3): # j = 1, 2(对每个 i 都会完整遍历) for k in range(1, 3): # k = 1, 2(对每个 j 都会完整遍历) print(f"i:{i} j:{j} k:{k}")

实战:打印 9×9 乘法表(上三角)

# 外层循环控制行(1~9) for i in range(1, 10): # 内层循环控制列(1~9) for j in range(1, 10): # 只打印 j <= i 的部分(上三角) if j <= i: # end="\t" 让输出不换行,用制表符分隔 print(f"{i}*{j}={i*j}", end="\t") # 每行结束后换行 print()

输出效果:

五、额外彩蛋:随机模块与列表(来自我的其他笔记)

虽然不属于分支循环,但既然你看到了这里,顺便分享两个实用小技巧:

1.随机选一个元素

import random # 导入随机模块 # 从元组中随机选择一个元素 print(random.choice(["老咪", "小咪", "黑子", "牢大", "牢弟儿"]))

2.随机采样(不重复抽取 k 个)

# 从一周七天中随机选 4 天(不重复) print(random.sample(("周一", "周二", "周三", "周四", "周五", "周六", "周日"), k=4))

总结

结构关键字作用
分支ifelifelse根据条件执行不同代码块
循环forin遍历序列或 range
范围生成range(start, stop, step)生成整数序列(左闭右开)
提前终止break立即结束整个循环
跳过本次continue跳过本次循环剩余代码,继续下一次
循环正常结束else(与for搭配)循环没有被break中断时执行

以上所有代码均来自我日常练习的.py文件,全部亲手敲过,并添加了详细注释,确保可运行。
如果你也想成为 Python 循环与分支的掌控者,多写多练就是最快的捷径!
下次见~

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

WindowsCleaner终极指南:彻底解决C盘空间不足的免费开源工具

WindowsCleaner终极指南&#xff1a;彻底解决C盘空间不足的免费开源工具 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你的Windows电脑C盘是不是经常爆红&#…

作者头像 李华
网站建设 2026/7/12 10:44:39

深蓝词库转换:5分钟掌握跨平台词库同步技巧

深蓝词库转换&#xff1a;5分钟掌握跨平台词库同步技巧 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 还在为不同输入法之间的词库不兼容而烦恼吗&#xff1f;深蓝词…

作者头像 李华
网站建设 2026/7/12 10:44:21

三步解锁Wand专业版:开源增强工具全面指南

三步解锁Wand专业版&#xff1a;开源增强工具全面指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer Wand-Enhancer是一款专为Wand&#xff08;WeMod&a…

作者头像 李华
网站建设 2026/7/12 10:44:20

ComfyUI-Manager节点管理功能失效的4个高效修复方案

ComfyUI-Manager节点管理功能失效的4个高效修复方案 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custom nodes of Co…

作者头像 李华
网站建设 2026/7/12 10:44:11

利用requestrepo靶场5分钟快速验证XXE漏洞:原理、实战与防御

1. 项目概述&#xff1a;为什么我们需要一个“靶场”来验证XXE在Web安全测试的日常工作中&#xff0c;XXE&#xff08;XML External Entity&#xff0c;XML外部实体&#xff09;漏洞的验证一直是个有点“麻烦”的活儿。你发现了一个可能存在XXE的接口&#xff0c;提交了精心构造…

作者头像 李华
网站建设 2026/7/12 10:43:36

3步终极解决Balena Etcher镜像烧录工具下载异常问题

3步终极解决Balena Etcher镜像烧录工具下载异常问题 【免费下载链接】etcher Flash OS images to SD cards & USB drives, safely and easily. 项目地址: https://gitcode.com/GitHub_Trending/et/etcher 作为一款广受欢迎的开源镜像烧录工具&#xff0c;Balena Etc…

作者头像 李华