Python 启蒙 · Day 3
房子:小图形拼成大作品
这一课让孩子第一次体验“拆开再组合”:墙、屋顶、门一步步出现,最后变成完整作品。
课堂流程(45 分钟)
01
先看房子怎么拆
让孩子说:墙是正方形,屋顶是三角形,门是长方形。
02
先画墙
用上节课循环画正方形,再加填色。
03
抬笔搬家
用 penup/goto/pendown 把画笔搬到屋顶位置。
04
加屋顶和门
每完成一部分就运行一次,看到房子慢慢长出来。
05
改颜色展示
孩子改墙、屋顶、门的颜色,做自己的房子。
教师话术(照着说就行)
"房子不是一个图形,它是几个小图形拼起来的。你看到了哪些?"
"penup 就是把笔抬起来,搬家的时候不画线。"
"goto 就像告诉画笔:去这个位置等我。"
"门歪了没关系,改 goto 里面的数字就能调整。"
课堂代码
第一步:画墙
python
import turtle
t = turtle.Turtle()
t.speed(4)
t.color("black")
t.fillcolor("lightyellow")
# 墙:正方形
t.begin_fill()
for i in range(4):
t.forward(100)
t.left(90)
t.end_fill()
turtle.done()第二步:搬到屋顶位置
这段接在画墙代码后面,不要单独运行。
python
# 把笔搬到墙的上面
t.penup()
t.goto(0, 100)
t.pendown()
# 屋顶:三角形
t.fillcolor("tomato")
t.begin_fill()
for i in range(3):
t.forward(100)
t.left(120)
t.end_fill()完整作品:一座房子
python
import turtle
t = turtle.Turtle()
t.speed(4)
t.color("black")
# 墙
t.fillcolor("lightyellow")
t.begin_fill()
for i in range(4):
t.forward(100)
t.left(90)
t.end_fill()
# 屋顶
t.penup()
t.goto(0, 100)
t.pendown()
t.fillcolor("tomato")
t.begin_fill()
for i in range(3):
t.forward(100)
t.left(120)
t.end_fill()
# 门
t.penup()
t.goto(35, 0)
t.pendown()
t.fillcolor("sienna")
t.begin_fill()
t.forward(30)
t.left(90)
t.forward(45)
t.left(90)
t.forward(30)
t.left(90)
t.forward(45)
t.end_fill()
t.hideturtle()
turtle.done()改造任务
最后 8 分钟
改墙、屋顶、门的颜色;或者改 goto 里的数字,让门换一个位置。
完成标准
孩子能说出房子由几个小图形组成。
孩子能运行出墙和屋顶。
孩子知道 penup 是抬笔,pendown 是落笔。
孩子至少改过一种颜色或一个位置数字。
对 8-11 岁,坐标准不准不是重点。重点是知道“先抬笔,再搬家,再落笔”。
做完之后
收尾只问:如果要画两座一样的房子,代码要复制两遍吗?下一节给“画房子”这个动作起名字。
模块目录
Python 启蒙