Python 基础教程 · 2026

Python 计数循环语句

for 循环 · range 函数 · 实战案例 · 全面解析

Python 编程课堂教学课件 · 适合初学者

agenda

今天的路线图

01循环基础:什么是计数循环~5 min
02语法详解:for 循环的结构~5 min
03核心工具:range() 函数全解~10 min
04实战演练:5 个经典案例~15 min
05总结回顾与课后练习~5 min
01

循环基础

认识 Python 中的计数循环

concept

什么是计数循环?

计数循环是一种已知重复次数的循环结构。Python 使用 for 关键字来实现。

1
设定一个可迭代的序列(如 range、列表)
2
循环变量依次取出序列中的每个元素
3
执行循环体代码,直到序列遍历完毕

for 循环 vs while 循环

类型 for 循环 类型 while 循环 次数 已知 / 可确定 次数 未知 / 条件控制 变量 自动更新 变量 手动管理 场景 遍历、重复操作 场景 等待、条件判断

syntax

for 循环基本语法

for 变量 in 可迭代对象:
    循环体(缩进 4 个空格)
变量 — 每次循环取出的当前值
可迭代对象 — range、列表、字符串等
冒号 : — 语法必须,不可省略
缩进 — 4 个空格,表示循环体
loop_demo.py
# 示例:打印 0 到 4
for i in range(5):
    print(i)

# 输出结果:
# 0
# 1
# 2
# 3
# 4

key points

循环的四个关键要素

1. 循环变量

每次迭代自动接收序列中的下一个值,无需手动更新。

for name in ["Alice", "Bob"]:
    print(name)

2. 可迭代对象

range、list、str、tuple 等任何能被遍历的对象。

for ch in "Python":
    print(ch)  # P y t h o n

3. 代码缩进

Python 用缩进(4空格)来界定循环体,缩进错误会报错。

IndentationError:缩进不一致时会报此错误

4. break & continue

break 立即退出循环,continue 跳过本次继续下一次。

for i in range(10):
    if i == 3: continue
    if i == 7: break
    print(i)
02

range 函数

Python 计数循环的核心工具

range()

range() 的三种用法

range(stop)

从 0 开始,到 stop-1 结束

range(5)
# → 0, 1, 2, 3, 4

for i in range(5):
    print(i)
共 5 个数

range(start, stop)

从 start 到 stop-1

range(2, 8)
# → 2, 3, 4, 5, 6, 7

for i in range(2, 8):
    print(i)
共 6 个数

range(start, stop, step)

指定步长 step

range(0, 10, 2)
# → 0, 2, 4, 6, 8

for i in range(0, 10, 2):
    print(i)
步长为 2
记忆口诀:range 生成的序列包含 start,不包含 stop(左闭右开区间)。

visualize

range() 可视化图解

range(5) — 从 0 到 4
0
1
2
3
4
5
← stop(不包含)
range(2, 8) — 从 2 到 7
0
1
2
3
4
5
6
7
8
← stop
range(0, 10, 2) — 步长为 2
0
1
2
3
4
5
6
7
8
9
10
← stop

patterns

range() 常见模式

patterns.py
# 1. 正序 1~10
for i in range(1, 11):
    print(i, end=" ")
# 1 2 3 4 5 6 7 8 9 10

# 2. 倒序 10~1
for i in range(10, 0, -1):
    print(i, end=" ")
# 10 9 8 7 6 5 4 3 2 1

# 3. 偶数序列
for i in range(0, 20, 2):
    print(i, end=" ")
# 0 2 4 6 8 10 12 14 16 18

# 4. 嵌套循环:乘法口诀一行
for i in range(1, 4):
    for j in range(1, 4):
        print(i, "x", j, "=", i*j)

正序遍历

range(1, n+1) — 从 1 开始到 n

倒序遍历

range(n, 0, -1) — 从 n 递减到 1

指定步长

range(start, stop, step) — 奇偶、跳跃

嵌套循环

for 里套 for — 矩阵、九九表等

Tip: step 可以是负数,实现倒序!
03

实战演练

5 个经典案例,由浅入深

case study · 01

案例 1:累加求和

用 for 循环计算 1 + 2 + 3 + ... + 100 的结果

sum_demo.py
# 计算 1 到 100 的累加和
total = 0

for i in range(1, 101):
    total = total + i
    # 简写: total += i

print("1到100的和 =", total)
# 输出: 1到100的和 = 5050

运行过程拆解

i=1
total = 0 + 1 = 1
i=2
total = 1 + 2 = 3
i=3
total = 3 + 3 = 6
...(省略中间步骤)...
i=100
total = 4950 + 100 = 5050
核心思路:用一个变量不断累加,循环结束后得到总和。

case study · 02

案例 2:九九乘法表

用嵌套 for 循环打印经典的九九乘法表

multiplication.py
# 九九乘法表
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j}x{i}={i*j}",
              end="\t")
    print()  # 换行
输出结果:
1x1=1
1x2=2  2x2=4
1x3=3  2x3=6  3x3=9
1x4=4  2x4=8  3x4=12  4x4=16
...
1x9=9  2x9=18  3x9=27  ...  9x9=81
嵌套要点:外层循环控制行,内层循环控制列。
range(1, i+1) 确保每行只打印到当前行号。

case study · 03

案例 3:星号三角形

用循环控制打印次数,绘制不同的三角形图案

triangle.py
# 直角三角形(左对齐)
for i in range(1, 6):
    print("*" * i)

# 输出:
# *
# **
# ***
# ****
# *****

# 倒三角形
for i in range(5, 0, -1):
    print("*" * i)

效果展示

直角三角形
*
**
***
****
*****
倒三角形
*****
****
***
**
*
技巧:Python 中 "*" * n 可以将字符串重复 n 次,非常适合配合循环画图案。

case study · 04

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

遍历字符串,统计某个字符出现了多少次

char_count.py
# 统计字符串中字母 'o' 出现的次数
text = "Hello World, Python is awesome!"
target = "o"
count = 0

for char in text:
    if char == target:
        count += 1

print(f"字母 'o' 出现了 {count} 次")
# 输出: 字母 'o' 出现了 4 次

逐步解析

Step 1: 准备变量

text 存储字符串,target 存储要查找的字符,count 初始化为 0。

Step 2: 遍历每个字符

for char in text 依次取出每个字符。

Step 3: 判断并计数

if char == target 匹配成功时 count 加 1。

举一反三:修改 target 可以统计任意字符!
也可以不用 if,直接用 text.count("o")

case study · 05

案例 5:限定次数猜数字

给玩家 5 次机会猜一个 1~100 的数字

guess_number.py
import random

answer = random.randint(1, 100)
chances = 5

print("我想了一个 1~100 的数字")
print(f"你有 {chances} 次机会!")

for attempt in range(1, chances + 1):
    guess = int(input("猜一个数: "))

    if guess == answer:
        print("恭喜,猜对了!")
        break
    elif guess < answer:
        print("太小了!")
    else:
        print("太大了!")
else:
    print(f"游戏结束!答案是 {answer}")

知识点提炼

range(1, chances+1) — 限定循环次数
break — 猜对后立即退出循环
for...else — 循环正常结束后执行
for...else 语法:当 for 循环没有被 break 打断时,会执行 else 块。这是一个独特的 Python 特性!
注意:for...else 中的 else 不是"否则"的意思,而是"循环跑完了"的意思。

summary

总结与课后练习

三个核心要点

1. for 循环 = 遍历序列

for 变量 in 可迭代对象: 是 Python 最常用的循环方式

2. range() 是核心工具

三种形式:range(stop) / range(start, stop) / range(start, stop, step)

3. 缩进是灵魂

Python 用 4 个空格缩进来界定循环体,这是语法的一部分

课后练习

练习 1:求偶数和

用 for 循环计算 1~100 中所有偶数的和。

练习 2:打印菱形

用嵌套 for 循环打印一个 5 行的菱形星号图案。

练习 3:斐波那契数列

用 for 循环生成前 20 个斐波那契数:1, 1, 2, 3, 5, 8 ...

练习 4:密码验证器

给用户 3 次输入密码的机会,正确则提示成功,否则提示锁定。