第16集:for循环基础

本集学习目标

  • 理解for循环的概念和作用
  • 掌握for循环的基本语法
  • 学会遍历序列(列表、字符串等)
  • 掌握range()函数的使用
  • 理解for循环与while循环的区别
  • 通过实际练习掌握for循环的使用

什么是for循环?

for循环是Python中最常用的循环结构之一,它用于遍历序列(如列表、字符串、元组等)中的每个元素。

for循环 vs while循环

特点 for循环 while循环
使用场景 遍历序列、固定次数循环 不确定次数、条件循环
语法 简洁明确 需要手动控制循环变量
适用性 已知循环次数 未知循环次数

示例对比

使用while循环

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

使用for循环

for count in range(1, 6):
    print(count)

for循环的基本语法

语法1:遍历序列

for 变量 in 序列:
    # 对序列中的每个元素执行
    循环体

执行流程

  1. 从序列中取出第一个元素,赋值给变量
  2. 执行循环体
  3. 取出下一个元素,重复步骤1-2
  4. 序列中的所有元素都处理后,退出循环

语法2:使用range()

for 变量 in range(开始, 结束, 步长):
    # 循环体

基本示例

示例1:遍历列表

fruits = ["apple", "banana", "orange"]

for fruit in fruits:
    print(f"我喜欢{fruit}")

输出

我喜欢apple
我喜欢banana
我喜欢orange

示例2:遍历字符串

message = "Python"

for char in message:
    print(char)

输出

P
y
t
h
o
n

示例3:遍历数字序列

for num in [1, 2, 3, 4, 5]:
    print(num)

输出

1
2
3
4
5

range()函数详解

range()是for循环中最常用的函数,用于生成数字序列。

range()的用法

range(stop)           # 0到stop-1
range(start, stop)    # start到stop-1
range(start, stop, step)  # start到stop-1,步长为step

示例4:range(stop)

# 生成0到4的数字
for i in range(5):
    print(i)

输出

0
1
2
3
4

示例5:range(start, stop)

# 生成1到5的数字
for i in range(1, 6):
    print(i)

输出

1
2
3
4
5

示例6:range(start, stop, step)

# 生成1到10的奇数
for i in range(1, 11, 2):
    print(i)

输出

1
3
5
7
9

示例7:倒序

# 生成5到1的数字
for i in range(5, 0, -1):
    print(i)

输出

5
4
3
2
1

遍历不同的数据类型

示例8:遍历字典

student = {"name": "张三", "age": 18, "grade": "A"}

# 遍历键
for key in student:
    print(f"键:{key}")

# 遍历键值对
for key, value in student.items():
    print(f"{key}: {value}")

示例9:遍历元组

colors = ("红色", "绿色", "蓝色")

for color in colors:
    print(color)

示例10:遍历字符串

text = "Hello"

for char in text:
    print(char)

实际应用案例

案例1:计算列表元素的和

numbers = [1, 2, 3, 4, 5]
total = 0

for num in numbers:
    total += num

print(f"总和:{total}")

输出

总和:15

案例2:查找最大值

numbers = [5, 2, 8, 1, 9]
max_num = numbers[0]

for num in numbers:
    if num > max_num:
        max_num = num

print(f"最大值:{max_num}")

输出

最大值:9

案例3:统计字符出现次数

text = "hello world"
count = 0

for char in text:
    if char == 'o':
        count += 1

print(f"'o'出现的次数:{count}")

输出

'o'出现的次数:2

案例4:九九乘法表

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

案例5:成绩统计

scores = [85, 92, 78, 95, 88]
total = 0
count = 0

for score in scores:
    total += score
    count += 1

average = total / count
print(f"平均分:{average:.2f}")

for循环与while循环的选择

使用for循环的情况

  • 遍历序列(列表、字符串等)
  • 已知循环次数
  • 处理可迭代对象

使用while循环的情况

  • 不确定循环次数
  • 需要复杂的条件判断
  • 需要在循环中修改循环条件

本集小结

  1. for循环用于遍历序列
  2. range()函数生成数字序列
  3. **range(stop)**:0到stop-1
  4. **range(start, stop)**:start到stop-1
  5. **range(start, stop, step)**:指定步长
  6. 可以遍历列表、字符串、字典、元组
  7. for循环适用于已知循环次数的情况
  8. while循环适用于未知循环次数的情况

课后练习

练习1:打印1-10

使用for循环打印1到10。

# 你的代码在这里

练习2:遍历列表

给定一个列表,计算所有元素的平均值。

numbers = [10, 20, 30, 40, 50]
# 你的代码在这里

练习3:统计字符数

统计字符串中某个字符出现的次数。

text = "hello world"
char = "o"
# 统计char出现的次数

练习4:倒序打印

使用for循环倒序打印5到1。

# 你的代码在这里

练习5:成绩分级

给定成绩列表,统计每个等级的人数。

scores = [85, 92, 78, 95, 88, 65, 72, 98]
# 统计A(>=90), B(80-89), C(70-79), D(60-69), F(<60)的人数

下集预告

下一集我们将学习第17集:循环控制break和continue。break和continue是控制循环执行的重要语句,可以实现更灵活的循环控制。

敬请期待!

« 上一篇 while循环基础 下一篇 » 循环控制break和continue