for循环
学习如何使用for循环遍历序列或集合中的元素,高效处理重复任务。
基本用法
for循环用于遍历任何序列(如列表、元组、字符串)或可迭代对象中的元素。
基本语法:
代码块
循环会依次将序列中的每个元素赋值给变量,然后执行缩进的代码块。
示例:遍历列表
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
for fruit in fruits:
print(fruit)
运行上面的代码,输出结果为:
苹果
香蕉
橙子
葡萄
遍历不同类型的数据
遍历字符串
word = "Python"
for char in word:
print(char)
运行上面的代码,输出结果为:
P
y
t
h
o
n
遍历元组
colors = ("红色", "绿色", "蓝色")
for color in colors:
print(color)
运行上面的代码,输出结果为:
红色
绿色
蓝色
遍历字典
scores = {"语文": 90, "数学": 85, "英语": 88}
for subject, score in scores.items():
print(f"{subject}: {score}分")
运行上面的代码,输出结果为:
语文: 90分
数学: 85分
英语: 88分
range()函数
range()函数用于生成一个整数序列,常用于for循环中。
语法:
range(stop)
range(start, stop)
range(start, stop, step)
示例1:range(stop)
for i in range(5):
print(i)
运行上面的代码,输出结果为:
0
1
2
3
4
示例2:range(start, stop)
for i in range(5, 10):
print(i)
运行上面的代码,输出结果为:
5
6
7
8
9
示例3:range(start, stop, step)
for i in range(1, 11, 2):
print(i)
运行上面的代码,输出结果为:
1
3
5
7
9
嵌套for循环
在for循环内部可以再次使用for循环,这称为嵌套for循环。
示例:打印乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j}×{i}={i*j}", end="\t")
print() # 换行
运行上面的代码,将输出9x9乘法表。
故事化案例:水果摊销售统计
小明的妈妈经营着一个水果摊,让我们帮助她统计一周的水果销售情况吧!
场景:水果摊一周的销售数据如下:
- 苹果:周一5斤,周二7斤,周三3斤,周四6斤,周五8斤,周六10斤,周日12斤
- 香蕉:周一3斤,周二5斤,周三2斤,周四4斤,周五6斤,周六9斤,周日7斤
- 橙子:周一4斤,周二2斤,周三5斤,周四3斤,周五7斤,周六8斤,周日6斤
代码实现:
# 定义每天的销售量
sales = {
"苹果": [5, 7, 3, 6, 8, 10, 12],
"香蕉": [3, 5, 2, 4, 6, 9, 7],
"橙子": [4, 2, 5, 3, 7, 8, 6]
}
# 定义星期
weekdays = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
# 计算每种水果的总销量
for fruit, amounts in sales.items():
total = sum(amounts)
print(f"{fruit}一周总销量: {total}斤")
# 找出每天的销售冠军
print("\n每天的销售冠军:")
for i in range(7):
max_sale = 0
champion = ""
for fruit, amounts in sales.items():
if amounts[i] > max_sale:
max_sale = amounts[i]
champion = fruit
print(f"{weekdays[i]}: {champion} ({max_sale}斤)")
运行上面的代码,将输出每种水果的总销量和每天的销售冠军。
练习题
1 计算列表元素和
编写一个程序,计算列表中所有元素的和。
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
total = 0
for num in numbers:
total += num
print(f"列表元素和: {total}")
2 打印星号三角形
编写一个程序,使用for循环打印一个5行的星号三角形。
for i in range(1, 6):
# 打印空格
print(" " * (5 - i), end="")
# 打印星号
print("*" * (2 * i - 1))
3 统计字符串中字符出现次数
编写一个程序,统计字符串中每个字符出现的次数。
text = "hello world"
char_count = {}
for char in text:
if char != ' ': # 忽略空格
if char in char_count:
char_count[char] += 1
else:
char_count[char] = 1
print(char_count)