Python 挑战版 · Day 1

画图:我能控制电脑

先让代码跑起来,再用参数实验理解“代码如何控制结果”。第 1 节刻意不使用循环,把重复留给 Day 2 解决。

节奏分配(45 分钟)

01

让窗口先出现

直接运行第一段代码,只确认 turtle 能画出一条线。

02

分步搭出正方形

每增加一组 forward(100) + left(90) 就运行一次。

03

观察参数影响

改颜色、速度、边长、角度,记录画面变化。

04

完成个人版本

不用循环,先把每一步显式写出来。

05

挑战五角星

仍然不使用循环,感受重复代码带来的麻烦。

教师话术

"今天先不追求写得短,我们先追求每一步都看得懂。"

"哪一行让它往前走?哪一行让它转弯?先指出来,再改。"

"改一个参数,只观察一个变化。不要一次改太多。"

"为什么这里重复了很多行?这个问题先保留到 Day 2。"

课堂代码

第一步:先让电脑动起来

只跑这几行。第一次看到画笔往前走一条线就够了。

python
import turtle
 
t = turtle.Turtle()
t.forward(100)
 
turtle.done()

第二步:逐步画正方形

每写两行就运行一次,让学生看到“走一步、转一次”的累积过程。

python
import turtle
 
t = turtle.Turtle()
t.color("red")
t.speed(1)
 
t.forward(100)
t.left(90)
 
t.forward(100)
t.left(90)
 
t.forward(100)
t.left(90)
 
t.forward(100)
t.left(90)
 
turtle.done()

参数实验

25-35 分钟

一次只改一个参数,观察画面变化。这里的目标是建立“参数改变 = 结果改变”的判断。

python
# 只改这些参数,观察画面变化
t.color("purple")   # red / blue / green / orange / pink
t.speed(10)         # 1 最慢,10 很快,0 瞬间完成
t.forward(160)      # 数字越大,边越长
t.left(120)         # 角度改变,图形也会改变

三档挑战

基础

改颜色、速度、边长,做出自己的正方形。

进阶

把 left(90) 改成别的角度,观察结果并记录。

挑战

不用循环画五角星,解释为什么会重复很多行。

个人版本参考

python
import turtle
 
t = turtle.Turtle()
t.color("blue")
t.speed(0)
 
# 目标:不用循环,先把每一步都写清楚
t.forward(140)
t.left(90)
t.forward(140)
t.left(90)
t.forward(140)
t.left(90)
t.forward(140)
t.left(90)
 
turtle.done()

挑战:五角星参考

python
import turtle
 
t = turtle.Turtle()
t.pensize(5)
 
t.forward(100)
t.right(144)
 
t.forward(100)
t.right(144)
 
t.forward(100)
t.right(144)
 
t.forward(100)
t.right(144)
 
t.forward(100)
t.right(144)
 
turtle.done()

完成标准

能运行第一段代码,并看到 turtle 画出一条线。

能指出 forward 控制距离,left 控制角度。

能改至少两个参数,并说清楚改动带来的变化。

能意识到正方形和五角星代码里有大量重复。

第 1 节不追求写得短。重复代码是下一节引出循环的材料。

做完之后

收尾只问:为什么画正方形要重复写很多行?这个问题留到 Day 2,用循环解决。