今天是孩子的第一节Python课。
我知道很多家长和孩子一听到"写代码"就紧张——要敲英文、要记语法、黑乎乎的屏幕看着就害怕。
所以我的第一节Python课,从来不教 print("Hello World")。我教的是:画画。
没错,Python可以画画。而且只要10行代码,就能画出一朵漂亮的花。
准备工作:安装Python
如果电脑上还没有Python环境,按这个步骤来:
-
- 打开浏览器,搜索
Thonny(thonny.org) -
- 下载安装 Thonny(它自带Python,不需要额外装)
-
- 安装完打开,你会看到一个简洁的编辑器界面
-
💡 为什么推荐Thonny?
Thonny是专门为初学者设计的Python编辑器,界面简单,自带Python环境,报错提示也更友好。等孩子熟练了,再换专业的编辑器也不迟。
第一个程序:画一个正方形
先从最简单的开始,画一个正方形。在Thonny里输入以下代码:
import turtle
t = turtle.Turtle()
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
点击运行按钮(绿色三角形),你会看到一个窗口弹出来,一只小箭头(就是"海龟")在屏幕上画出了一个正方形!
🐢 什么是turtle?
turtle(海龟)是Python自带的画图工具。想象有一只拿着笔的小海龟,你给它指令:"往前走100步"、"右转90度",它就照做,走过的地方会留下线条。是不是很像Scratch里的画笔?
来逐行解释这段代码:
-
- 📌
import turtle — 告诉Python:我要用画图工具 -
- 📌
t = turtle.Turtle() — 创建一只小海龟,叫它 t -
- 📌
t.forward(100) — 往前走100步 -
- 📌
t.right(90) — 右转90度 -
走100步、转90度,重复4次——正方形就出来了。
用循环简化代码
聪明的孩子可能已经发现了:上面的代码有很多重复!"走100步、右转90度"重复了4遍。
在Scratch里我们用"重复执行",Python里用 for 循环:
import turtle
t = turtle.Turtle()
for i in range(4):
t.forward(100)
t.right(90)
5行代码,效果一模一样。这就是循环的威力。
💬 我会跟孩子说:"for i in range(4) 就相当于Scratch里的'重复4次'。你看,你已经会了!只是换了一种写法而已。"孩子一听就不害怕了。
重头戏:10行代码画一朵花
准备好了吗?见证奇迹的时刻到了。输入以下代码:
import turtle
t = turtle.Turtle()
t.speed(0)
t.color("red")
for i in range(36):
t.forward(200)
t.right(170)
t.forward(200)
t.right(170)
点击运行——
🌸 一朵漂亮的花在屏幕上绽放了!
孩子看到这个效果的时候,眼睛都亮了。每次上到这节课,教室里都是"哇——"的惊叹声。
代码解释
-
- 🔹
t.speed(0) — 画得最快(不然得等半天) -
- 🔹
t.color("red") — 画笔颜色设为红色 -
- 🔹
for i in range(36) — 重复36次 -
- 🔹
t.forward(200) — 往前走200步 -
- 🔹
t.right(170) — 右转170度(接近180度但不到,这就是花瓣产生的秘密!) -
🧠 为什么转170度会形成花?
如果转180度,海龟会原路返回,什么也画不出来。但转170度,每次都会偏一点点,经过36次之后,这些微小的偏移叠加起来,就形成了花瓣的形状。这其实是数学中的对称和旋转概念!
动手改一改
最精彩的部分来了——让孩子自己改参数,看看会发生什么:
-
- 把
t.right(170) 改成 t.right(160),花瓣会变宽 -
- 把
t.right(170) 改成 t.right(175),花瓣会变细 -
- 把
"red" 改成 "blue"、"purple"、"gold",换个颜色 -
- 把
range(36) 改成 range(72),花瓣更多 -
- 把
t.forward(200) 改成 t.forward(100),花变小 -
我班上一个孩子改了半个小时,最后做出了一个彩虹花——每片花瓣颜色不一样。他问我:"老师,怎么让每次画的颜色不同?"我就顺势教了他列表和索引。你看,好奇心驱动的学习,效率比强迫高100倍。
进阶:彩虹花
如果孩子玩得意犹未尽,试试这个彩虹版本:
import turtle
t = turtle.Turtle()
t.speed(0)
colors = ["red", "orange", "yellow", "green", "blue", "purple"]
for i in range(36):
t.color(colors[i % 6])
t.forward(200)
t.right(170)
t.forward(200)
t.right(170)
colors[i % 6] 的意思是:按顺序循环使用6种颜色。% 是"取余"运算,i % 6 的结果会在0-5之间循环。
不需要孩子完全理解这个数学概念,先让他看到效果,好奇心会驱动他去理解。
今天学了什么
-
- ✅ 安装了Python环境(Thonny)
-
- ✅ 认识了
turtle 海龟画图库 -
- ✅ 学了基本指令:
forward(前进)、right(右转)、color(颜色) -
- ✅ 用
for 循环替代重复代码 -
- ✅ 理解了"改参数看效果"的实验精神
-
🌟 第一节Python课的目标不是教会语法,而是让孩子觉得:Python好玩!
只要孩子觉得好玩,后面的路就好走了。语法可以慢慢学,兴趣不能等。
下一篇我们来做一个更实用的项目——用Python做一个简易计算器。会学到输入输出、变量和条件判断,都是Python的核心基础。
· · ·
码小芽 | 让每个孩子都能快乐编程 🌱
少儿编程老师 | 3年一线教学经验 | 用真话聊编程教育