为什么需要循环
程序最大的优势是不知疲倦地重复。要打印 5 遍「加油」,没必要写 5 行 print;要处理 1000 条数据,更不可能手写 1000 行。循环就是把重复的活儿交给电脑,你只写一遍逻辑。
range:让电脑数数
range(5) 生成 0、1、2、3、4 这 5 个数。从 0 开始、到 5 之前停。for i in range(5) 就是「让 i 依次取这些值,重复 5 次」。
两个参数时 range(2, 6) = 2、3、4、5(含起点 2、不含终点 6)。这个「含头不含尾」的习惯,和列表下标从 0 开始是一脉相承的。
直接遍历列表
更常用的写法是直接对列表循环:
scores = [3, 1, 4, 1, 5]
for s in scores:
print(s)for 会让 s 依次等于每个元素(3、1、4、1、5),自动往后走,不用你手动加下标。这比 range 写法更直接。
缩进决定了「循环体」
Python 用缩进(通常 4 个空格)来表示「哪些代码属于循环」。for 那行末尾要有冒号 :,下面缩进的行才会被重复执行;一旦顶格不缩进,就跳出循环了。漏冒号、漏缩进是循环最高频的两个报错。
循环 + 累加器
循环里最经典的套路:在循环外面建一个变量当「累加器」,循环里不断把值加进去。
total = 0
for s in scores:
total = total + s
print(total) # 所有元素之和关键:累加器要写在循环外初始化,写在里面会每轮被清零。学会这个组合,你就能算总和、计数、找最大值了。