Python3 循环语句

Python3 循环语句(Loop Statements)


🎯 学习目标

掌握 Python 中的循环结构,包括 forwhile 的基本用法与高级技巧。理解循环在数据遍历、重复任务处理、自动化流程控制中的核心作用。能够在实际项目中灵活使用循环进行高效编程。


🔑 核心重点

分类 内容
基本结构 for 遍历可迭代对象;while 满足条件时持续执行
控制语句 break, continue, else 在循环中的应用
实际应用场景 数据清洗、批量操作、状态监控、模拟过程等
性能优化技巧 使用生成器、避免无限循环、合理使用 else 提升代码质量

📚 详细讲解

一、什么是循环?

循环是程序中用于重复执行一段代码块的结构。Python 支持两种主要的循环:

  • for:用于遍历序列(如列表、字符串、元组)或任何可迭代对象
  • while:只要条件为真就一直执行

二、for 循环详解

✅ 基本语法:

for 变量 in 可迭代对象:
    # 执行代码块

✅ 示例:

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

📌 适用对象

  • 列表、元组、字符串、字典、集合、range()、文件行等

✅ 遍历字典

user = {"name": "Alice", "age": 25, "city": "Beijing"}
for key, value in user.items():
    print(f"{key}: {value}")

range() 函数

用于生成数字序列:

for i in range(5):
    print(i)  # 输出 0~4

支持起始和步长:

for i in range(1, 10, 2):
    print(i)  # 输出 1, 3, 5, 7, 9

三、while 循环详解

✅ 基本语法:

while 条件:
    # 执行代码块

✅ 示例:

count = 0
while count < 5:
    print(count)
    count += 1

📌 注意:要确保循环最终能退出,否则可能造成死循环


✅ 无限循环示例(慎用):

while True:
    user_input = input("请输入内容(输入 quit 退出):")
    if user_input == "quit":
        break
    print(f"你输入的是:{user_input}")

四、循环控制语句

语句 描述
break 终止当前循环
continue 跳过当前循环体,进入下一次循环
else 当循环正常结束(非 break)时执行

✅ 示例:查找质数

num = 17
for i in range(2, num):
    if num % i == 0:
        print(f"{num} 不是质数")
        break
else:
    print(f"{num} 是质数")

五、嵌套循环

在一个循环体内再嵌入另一个循环。

✅ 示例:打印乘法表

for i in range(1, 10):
    for j in range(1, i+1):
        print(f"{j}*{i}={i*j}", end=" ")
    print()

📌 建议:避免过多层嵌套,保持逻辑清晰。


六、简洁写法与高级技巧

✅ 列表推导式替代简单循环

squares = [x**2 for x in range(6)]
print(squares)  # [0, 1, 4, 9, 16, 25]

✅ 使用 enumerate() 获取索引和值

words = ["cat", "window", "defenestrate"]
for index, word in enumerate(words):
    print(f"第 {index + 1} 个单词是:{word}")

✅ 使用 zip() 同时遍历多个序列

names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 22]

for name, age in zip(names, ages):
    print(f"{name} 的年龄是 {age}")

⚠️ 注意事项

  • for 循环适用于已知迭代次数的场景,while 适用于未知但有条件控制的场景
  • 不要在遍历过程中修改正在遍历的对象(如删除/添加元素)
  • 使用 else 时注意是否被 break 中断
  • 对于大范围的数据遍历,优先考虑使用生成器(如 itertools)提升性能
  • 避免“死循环”,尤其是 while 循环中未更新判断条件的情况

🧪 实际案例分析

📌 场景:模拟银行取款系统

用户登录后可以查询余额、取款、存款、退出系统。

balance = 1000
while True:
    print("\n欢迎使用自动取款机")
    print("1. 查询余额")
    print("2. 取款")
    print("3. 存款")
    print("4. 退出")
    choice = input("请选择操作(1-4):")

    if choice == '1':
        print(f"您的当前余额为:{balance} 元")
    elif choice == '2':
        amount = int(input("请输入取款金额:"))
        if amount > balance:
            print("余额不足!")
        else:
            balance -= amount
            print(f"取款成功,剩余余额:{balance} 元")
    elif choice == '3':
        amount = int(input("请输入存款金额:"))
        balance += amount
        print(f"存款成功,当前余额:{balance} 元")
    elif choice == '4':
        print("感谢使用,再见!")
        break
    else:
        print("无效选项,请重新选择。")

📌 应用

  • 用户交互系统
  • 状态机设计
  • 批量数据处理
  • 自动化脚本编写

🧩 拓展练习(动手实践)

  1. 编写一个程序,计算从 1 到 n 的所有奇数之和。
  2. 输入一个字符串,统计其中每个字符出现的次数(忽略大小写)。
  3. 实现一个猜数字游戏:随机生成 1~100 的整数,让用户猜测,提示偏大或偏小,直到正确为止。
  4. 使用循环实现冒泡排序算法。
  5. 编写程序,读取一个文本文件并统计每行的字符数。

📚 推荐阅读


🧭 下一步建议

  • 下一章学习内容:《Python3 函数详解》
  • 掌握函数定义、参数传递、返回值、作用域等基础知识
  • 学习函数装饰器、递归、lambda 表达式等高级用法
  • 探索函数模块化开发思想与高阶函数概念
  • 结合循环与函数知识,尝试编写结构清晰、功能完整的 Python 程序

如果你希望我为你提供:

  • Python 循环语句速查表 PDF
  • 更多实战项目练习题(如菜单系统、猜数字游戏、排序算法实现等)
  • 循环高级技巧详解(如链式循环、迭代器、生成器、协程等)
  • 视频教学资源推荐(中文讲解)

欢迎随时告诉我 😊

posted @ 2025-05-28 20:21  红尘过客2022  阅读(43)  评论(0)    收藏  举报