Appearance
0301 嵌套循环画风车
做成什么
先画一个三角形,然后整体转 90 度再画一个,重复四次,得到一架四叶风车。
给谁用:能熟练写单层循环,第一次接触"循环套循环"的孩子。这是理解嵌套循环最直观的一个例子——外层管"画几个叶片",内层管"一个叶片怎么画"。
需要什么基础
- 熟悉
for循环 - 已经画过正三角形(知道外角是 120 度)
- 知道代码缩进决定"谁在谁里面"
完整代码
python
import turtle
t = turtle.Turtle()
t.speed(5)
t.pensize(2)
for i in range(4): # 外层:画四个叶片
t.pencolor("tomato")
for j in range(3): # 内层:每个叶片是一个三角形
t.forward(80)
t.right(120)
t.right(90) # 一个叶片画完,整体转 90 度
turtle.done()容易卡在哪
两个循环变量搞混。 外层用 i,内层用 j,别都写成 i。虽然 Python 不会报错,但读代码的时候会分不清谁管什么。
最后的 t.right(90) 缩进错了。 它必须和内层 for 对齐(属于外层循环体),如果缩进到内层里面,每个三角形都会多转一次,画出来是一团乱线。这是这一页最高频的错误。
画出来四个叶片重叠在一起。 说明忘了写最后那句 t.right(90),或者缩进错了位置。
颜色想每个叶片不一样。 准备一个颜色列表,用外层循环变量取:
python
colors = ["tomato", "gold", "seagreen", "steelblue"]
for i in range(4):
t.pencolor(colors[i])
for j in range(3):
t.forward(80)
t.right(120)
t.right(90)怎么改
- 把
range(4)改成range(6),同时把right(90)改成right(60),变成六叶风车 - 内层三角形改成正方形(
range(4)+right(90)),看图形怎么变 - 每个叶片用不同颜色(上面那段代码)
- 让叶片大小递减:
t.forward(80 - i * 15),画出一个螺旋风车
第 4 步能把"循环变量可以参与计算"这件事讲明白,比单独讲语法有效得多。
文件下载与版本
- 环境:Python 3.8+,无需第三方库
- 单文件源码:直接复制上面的代码即可
- 整套打包下载正在整理中
最后核对:2026-10-20,Python 3.11 下实际运行通过。
