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

第二十一节课:Python程序循环结构详解

1. 遍历循环(for循环)

基本语法

for <循环变量> in <遍历结构>:
    <代码块>

常用应用场景

(1) 计数循环
# 基础形式(循环5次)
for i in range(5):
    print(i)  # 输出:0 1 2 3 4

# 指定范围(1-5)
for i in range(1,6):
    print(i)  # 输出:1 2 3 4 5

# 步长控制(间隔2)
for i in range(1,10,2):
    print(i)  # 输出:1 3 5 7 9
(2) 字符串遍历
s = "Python"
for c in s:
    print(c, end=" ")  # 输出:P y t h o n
(3) 列表遍历
lst = [123, "Py", 3.14]
for item in lst:
    print(item)  # 输出:123 → Py → 3.14
(4) 文件遍历
with open("data.txt") as fi:
    for line in fi:
        print(line.strip())  # 逐行输出文件内容

2. 无限循环(while循环)

基本语法

while <条件>:
    <代码块>

示例

# 倒计时示例
a = 3
while a > 0:
    print(a)
    a -= 1  # 输出:3 2 1

# 注意:避免死循环!

3. 循环控制保留字

(1) break语句

s = "Python"
for c in s:
    if c == "t":
        break
    print(c)  # 输出:P y

(2) continue语句

for c in "Python":
    if c == "t":
        continue
    print(c)  # 输出:P y h o n

多层循环示例

s = "Python"
while len(s) > 0:
    for c in s:
        if c == "t":
            break  # 仅退出内层for循环
        print(c, end="")
    s = s[:-1]  # 输出:PyPypP

4. 循环高级用法(else搭配)

语法结构

for <变量> in <结构>:
    <代码块>
else:
    <正常完成循环后执行的代码>

while <条件>:
    <代码块>
else:
    <正常完成循环后执行的代码>

应用示例

# 文件查找示例
for line in open("data.txt"):
    if "target" in line:
        print("找到目标内容!")
        break
else:
    print("未找到目标内容")  # 完整遍历文件后执行

5. 关键要点总结

循环类型特点适用场景
for…in遍历已知结构的元素固定次数/已知数据集遍历
while条件控制的循环不确定次数的循环操作
break立即终止当前循环满足条件提前退出
continue跳过当前迭代过滤特定情况
else+循环循环正常完成的奖励机制完整性检查/后续处理

使用建议

  1. 优先使用for循环处理可遍历结构
  2. 使用while True时务必设置退出条件
  3. 多层循环嵌套时注意缩进层级
  4. 谨慎使用break,避免破坏代码可读性
  5. 利用else增强循环逻辑的完整性检查

http://www.dtcms.com/a/112483.html

相关文章:

  • 玩转JSONObject:使用方法详解与Map对比
  • 您使用的开源软件许可证是否存在冲突呢?
  • AI Agent 工作流程解析:从原理到实践
  • go day 01
  • Nyquist插件基础:LISP语法-数据类型
  • 【每日算法】Day 17-1:位图(Bitmap)——十亿级数据去重与快速检索的终极方案(C++实现)
  • Java枚举如何实现自增赋值呢?
  • 第一讲—函数的极限与连续(一)
  • TiDB 数据库8.1版本编译及部署
  • 网络编程—Socket套接字(TCP)
  • 从零实现APP实时聊天功能:WebSocket+离线消息+多媒体传输全解析
  • deepseek v3-0324实现SVG 编辑器
  • 345-java人事档案管理系统的设计与实现
  • K8s私有仓库拉取镜像报错解决:x509 certificate signed by unknown authority
  • WORD+VISIO输出PDF图片提高清晰度的方法
  • MySQL系统库汇总
  • 面向中小企业的ThingsBoard轻量级部署与运维方案(源码+论文+部署讲解等)
  • 图扑可视化点亮智慧城市垃圾分类新未来
  • UBUNTU编译datalink
  • Xilinx系列FPGA实现HDMI2.1视频收发,支持8K@60Hz分辨率,提供2套工程源码和技术支持
  • Python每日一题(15)
  • 考研真题:有一个请求分页式虚拟存储器系统,分配给某进程3个物理块,开始时内存中预装入第1.2.3个页面
  • Future接口详细介绍
  • 记一次差点通宵的bug(内网没bug,外网有bug)
  • Uni-app PDF Annotation plugin library online API examples
  • Mysql 行级锁在什么样的情况下会升级为表级锁?
  • Lua函数与表+Lua子文件加载与元表
  • 4.5/Q1,GBD数据库最新文章解读
  • ✅ 2025最新 | YOLO 获取 COCO 指标终极指南 | 从标签转换到 COCOAPI 评估 (训练/验证) 全覆盖【B 站教程详解】
  • NHANES指标推荐:DI-GM