第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
- 序列中的所有元素都处理后,退出循环
语法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
5range()函数详解
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循环的情况
- 不确定循环次数
- 需要复杂的条件判断
- 需要在循环中修改循环条件
本集小结
- for循环用于遍历序列
- range()函数生成数字序列
- **range(stop)**:0到stop-1
- **range(start, stop)**:start到stop-1
- **range(start, stop, step)**:指定步长
- 可以遍历列表、字符串、字典、元组等
- for循环适用于已知循环次数的情况
- 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是控制循环执行的重要语句,可以实现更灵活的循环控制。
敬请期待!