Python for 循环基础
简单10学会用Python的for循环,让电脑帮你自动重复做事情
同学们,你们有没有遇到过这样的情况:老师让你们给全班每个同学发一本练习册,你不想一个一个去数,希望有个“自动机器人”帮你挨个发?在Python里,for循环就是这样一个“自动机器人”,它可以帮我们按顺序处理每一个东西。
下面我们就来详细认识一下这位好帮手,看看它能帮我们做哪些有趣的事。
1. for循环是什么
for循环就像排队的队伍:你要从第一个到最后一个,依次做同一件事。比如,你要对每个朋友说“你好”,用代码写就是:
friends = ["小明", "小红", "小刚"] # 定义一个列表,存三个好朋友的名字
for friend in friends: # 让 friend 依次等于列表里的每个名字
print("你好," + friend) # 每次循环都执行这一句
运行结果:
你好,小明
你好,小红
你好,小刚
看看,电脑自动帮你说了三次“你好”,每次换一个朋友的名字。整个过程就是:从列表中取出第一个元素 → 执行缩进的代码 → 取出下一个元素 → 再执行……直到取完所有元素。
除了列表,for循环还可以作用在很多其他东西上,比如字符串(每个字符)、元组、字典(键或值)等。例如:
word = "ABC" # 一个字符串
for letter in word: # 循环遍历每个字母
print(letter) # 输出 A, B, C 各一行
2. for循环的格式
基本格式像这样:
for 变量 in 序列:
重复做的动作
- 变量:临时存放当前拿到的那个东西,名字可以自己起(比如上面的
friend或letter)。你可以理解为“每次循环手里拿着的那个小纸条”。 - 序列:一筐东西,比如一个列表、一个字符串,或者用
range()生成的数字范围。 - 缩进:
for下面的语句必须缩进(一般是按一下Tab键或4个空格),缩进的部分才是循环要重复执行的内容。如果忘记缩进,Python会报错哦!
3. 用for循环数数
想从1数到5?不用自己写5行print,用for循环加 range():
for i in range(1, 6): # range(1,6) 生成 1,2,3,4,5
print(i)
输出:
1
2
3
4
5
range(1,6) 就像排队时拿到的号码牌,从1开始,到5结束(6不包含)。如果只写一个数字,比如 range(5),就会生成 0,1,2,3,4(从0开始,数量是5个)。这在处理索引时非常有用。
再比如,你想让计算机重复做10次某个动作(比如打印10个“哈”):
for times in range(10): # times 依次取值 0 到 9
print("哈") # 打印10次“哈”
生活例子:妈妈想让你每天存1元钱零花钱,连续存7天,一共存了多少?可以用循环累加:
total = 0 # 初始金额0元
for day in range(1, 8): # day = 1,2,3,4,5,6,7
total = total + 1 # 每天存1元
print(f"第{day}天存了1元,总金额:{total}元")
4. 生活中的更多例子
你有一盒巧克力,每颗都要包上糖纸。用for循环来描述:
chocolates = ["牛奶糖", "黑巧", "白巧"] # 三种巧克力
for chocolate in chocolates: # 遍历每一颗
print(f"给 {chocolate} 包上金色糖纸")
输出:
给 牛奶糖 包上金色糖纸
给 黑巧 包上金色糖纸
给 白巧 包上金色糖纸
另一个例子:计算全班同学英语考试的平均分。假设分数列表是 [88, 92, 76, 85, 90]:
scores = [88, 92, 76, 85, 90] # 五个同学的分数
total = 0 # 总分初始0
count = 0 # 人数初始0
for score in scores: # 遍历每个分数
total = total + score # 累加分数
count = count + 1 # 人数加1
average = total / count # 计算平均分
print(f"总分:{total},平均分:{average}")
运行结果:
总分:431,平均分:86.2
你看看,如果让你手算5个数的平均值,用for循环几行代码就搞定了,而且分数再多也不怕。
5. 新手容易犯的错误
错误1:忘记加冒号
for i in range(5) 忘记写冒号 → for i in range(5) 少了个:,Python会报语法错误。
正确:for i in range(5):
错误2:缩进不对
for i in range(3): print(i) 这样写print跟for对齐了,不在循环内,只会打印一次最后一次的值(或报错)。
正确:print(i)前面要有4个空格或一个Tab。
错误3:range的结束值搞混
range(1,5) 产生1,2,3,4,不包含5。很多同学以为包括5,结果少循环一次。记住:包左不包右。
错误4:重复使用变量名
for item in items: 后面又写 item = 100,会改变循环中item的值,可能导致意外。尽量避免在循环内部重新赋值给循环变量。
错误5:在循环里修改正在遍历的列表
如果你在for循环中删除当前元素,可能会跳过一些元素。新手可以先不碰这个,等学了列表操作再留意。
6. 完整可运行的示例
下面是一个完整的程序:模拟给小猪存钱罐里存零花钱,每周存一次,一共存4周,每次存的钱可以不同(比如用列表记录每周存的钱),最后显示总共存了多少和平均每周存了多少。
# 每周存的钱(单位:元)
weekly_money = [5, 10, 8, 12] # 第1周5元,第2周10元……
total_saved = 0 # 总存款初始0
weeks = 0 # 周数初始0
for money in weekly_money: # 遍历每周存款
total_saved = total_saved + money # 累加总金额
weeks = weeks + 1 # 周数加1
average_saved = total_saved / weeks # 计算平均每周存多少钱
print(f"一共存了{total_saved}元") # 输出总存款
print(f"平均每周存{average_saved}元") # 输出平均值
运行结果:
一共存了35元
平均每周存8.75元
你可以试着修改weekly_money的值,或者增加更多周,看看结果变化。
7. 相关指引
学会for循环之后,你可以继续学习:
- while循环:另一种实现重复的方法,适合“直到满足某个条件才停止”的场景。
- 列表操作:如何创建、添加、删除列表中的元素,和for循环搭配使用更强大。
- 字符串遍历:用for循环逐个处理字符串中的字符,比如统计字母出现次数。
- 嵌套循环:for循环里面再套一个for循环,可以用来处理表格、棋盘等二维数据。
总之,for循环是编程中最常用的“自动化”工具,掌握了它,你就能让电脑帮你做很多重复性工作啦!快去试试吧!
例题精讲
以下哪个代码片段可以正确遍历列表['苹果', '香蕉', '橘子']中的每一个元素?
执行以下代码后,输出的结果是?\nfor i in range(5):\n print(i, end=' ')
在Python中,for循环结束后,循环变量(例如for i in range(5):中的i)在循环外仍然可以使用,它的值会是循环最后一次的值。
请补全代码,使程序输出字符串'Python'中的每个字符,每个字符占一行。\ns = 'Python'\nfor ___ in s:\n print(ch)请补全代码,使程序计算1到10(包括10)所有整数的和,并输出结果。\ntotal = 0\nfor i in range(1, 11):\n ___\nprint(total)