Python快速学习——第8章:循环语句

第八章:循环语句

8.1 什么是循环语句?

循环语句就像 一个不知疲倦的机器人,能够重复执行相同的任务,直到满足特定条件才停止。它让程序能够自动化处理重复性工作,大大提高效率。

python 复制代码
# 简单的循环示例
for i in range(5):
    print(f"这是第{i+1}次循环")

8.2 for循环

8.2.1 基本的for循环

for循环用于遍历序列(如列表、字符串、元组等)中的每个元素:

语法格式

python 复制代码
for 变量 in 序列:
    # 循环体代码
python 复制代码
# 示例:遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(f"我喜欢吃{fruit}")

# 示例:遍历字符串
text = "Hello"
for char in text:
    print(char)

8.2.2 使用range()函数

range()函数生成一个数字序列,常用于控制循环次数:

python 复制代码
# range()函数的三种用法
range(5)        # 0, 1, 2, 3, 4
range(1, 6)     # 1, 2, 3, 4, 5
range(1, 10, 2) # 1, 3, 5, 7, 9(步长为2)

# 实际应用
for i in range(5):
    print(f"循环第{i+1}次")

for i in range(1, 6):
    print(f"数字:{i}")

for i in range(0, 10, 2):
    print(f"偶数:{i}")

8.2.3 使用enumerate()获取索引

在遍历序列时,如果需要同时获取索引和值,可以使用enumerate():

python 复制代码
fruits = ["苹果", "香蕉", "橙子"]

# 同时获取索引和值
for index, fruit in enumerate(fruits):
    print(f"第{index}个水果是:{fruit}")

# 可以指定起始索引
for index, fruit in enumerate(fruits, start=1):
    print(f"第{index}个水果是:{fruit}")

8.3 while循环

8.3.1 基本的while循环

while循环在条件为真时重复执行代码块:

语法格式

python 复制代码
while 条件:
    # 循环体代码
python 复制代码
# 示例
count = 1
while count <= 5:
    print(f"计数:{count}")
    count += 1  # 重要:必须更新条件变量,否则会无限循环

8.3.2 无限循环与退出条件

while循环特别适合处理不确定循环次数的情况:

python 复制代码
# 用户输入直到特定值退出 
total = 0
while True:
    num = int(input("请输入数字(输入0退出):"))
    if num == 0:
        break #跳出
    total += num
print(f"总和:{total}")

8.4 循环控制语句

8.4.1 break语句

break语句用于立即退出整个循环:

python 复制代码
# 找到第一个满足条件的数字就退出
numbers = [1, 3, 5, 8, 10, 13, 15]
for num in numbers:
    if num % 2 == 0:
        print(f"找到第一个偶数:{num}")
        break
else:
    print("没有找到偶数")

8.4.2 continue语句

continue语句跳过当前循环的剩余代码,直接开始下一次循环:

python 复制代码
# 只处理奇数,跳过偶数
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
    if num % 2 == 0:
        continue  # 跳过偶数
    print(f"奇数:{num}")

8.4.3 else子句(本人不常用)

循环的else子句在循环正常完成(没有被break中断)时执行:

python 复制代码
# for循环的else
for i in range(5):
    print(i)
else:
    print("循环正常结束")

# while循环的else
count = 0
while count < 3:
    print(count)
    count += 1
else:
    print("while循环正常结束")

8.5 嵌套循环

循环内部可以包含另一个循环,形成嵌套结构:

python 复制代码
# 打印乘法表
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j}×{i}={i*j}", end="\t")
    print()  # 换行

# 处理二维数据
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for row in matrix:
    for num in row:
        print(num, end=" ")
    print()

8.6 循环的注意事项

8.6.1 避免无限循环

python 复制代码
# 危险的无限循环
# count = 0
# while count < 5:  # 如果忘记更新count,就会无限循环
#     print("无限循环...")

# 安全的写法
count = 0
while count < 5:
    print(f"计数:{count}")
    count += 1  # 确保更新条件变量

8.6.2 不要在循环中修改正在遍历的序列

python 复制代码
# 危险的写法
numbers = [1, 2, 3, 4, 5]
# for num in numbers:
#     if num % 2 == 0:
#         numbers.remove(num)  # 这会改变序列,导致意外结果

# 安全的写法:创建副本或使用列表推导式
numbers = [1, 2, 3, 4, 5]
numbers = [num for num in numbers if num % 2 != 0]  # 只保留奇数

8.6.3 合理使用循环else子句

python 复制代码
# else子句的典型用法:搜索场景
def find_number(numbers, target):
    for i, num in enumerate(numbers):
        if num == target:
            print(f"找到目标数字,位置:{i}")
            break
    else:
        print("没有找到目标数字")

numbers = [1, 3, 5, 7, 9]
find_number(numbers, 5)  # 找到目标数字,位置:2
find_number(numbers, 4)  # 没有找到目标数字

8.7 循环与函数结合

循环经常与函数结合使用,使代码更加模块化:

python 复制代码
def calculate_statistics(numbers):
    """计算数字列表的统计信息"""
    if not numbers:
        return None

    total = 0
    count = 0
    max_val = numbers[0]
    min_val = numbers[0]

    for num in numbers:
        total += num
        count += 1
        if num > max_val:
            max_val = num
        if num < min_val:
            min_val = num

    average = total / count
    return {
        "总数": total,
        "平均值": average,
        "最大值": max_val,
        "最小值": min_val
    }

# 使用函数
data = [23, 45, 67, 12, 89, 34]
stats = calculate_statistics(data)
for key, value in stats.items():
    print(f"{key}: {value}")

本章笔记:

  • 循环语句让程序能够重复执行代码块,提高效率。
  • for循环用于遍历序列或控制固定次数的循环。
  • while循环在条件为真时重复执行,适合不确定循环次数的情况。
  • break语句立即退出循环,continue语句跳过当前迭代。
  • 循环可以嵌套使用,处理复杂的数据结构。
  • 循环常用于数据统计、处理、用户交互等场景。
  • 合理使用循环优化技巧可以提高代码性能。
  • 注意避免无限循环和在循环中修改正在遍历的序列。
  • 循环与函数结合可以使代码更加模块化和可重用。
相关推荐
RSTJ_162512 小时前
PYTHON+AI LLM DAY SIXTY-FOUR
开发语言·python
词元Max12 小时前
4.1 监督学习入门:线性回归与分类
学习·分类·线性回归
-To be number.wan12 小时前
计算机组成原理 | 位扩展、字扩展与片选逻辑
学习·计算机组成原理
小烤箱12 小时前
ROS2 学习资源与学习方法
学习·ros·学习方法·ros2
甄心爱学习12 小时前
【项目实训(个人11)】
python·个人开发
zhangfeng113312 小时前
国家超算中心 htc 如果只有gpu资源 没有cpu资源 操作文件的时候会不会很卡呢
人工智能·pytorch·python·机器学习
jiayong2312 小时前
01 检查 Python 版本与环境
开发语言·python
阿哟阿哟12 小时前
vna.3.1.9.cn.jar设置成中文界面
python·pycharm·jar
XZ-07000112 小时前
MySQL-综合应用(Python+Html)
python·mysql·html
casual~13 小时前
十六届蓝桥杯国赛个人题解
经验分享·学习·算法·蓝桥杯