当前位置:首页>python>少儿编程Python: 今天带娃搞了个好玩的,用代码把儿子的名字画成“旋转风车”,发朋友圈被赞爆了!

少儿编程Python: 今天带娃搞了个好玩的,用代码把儿子的名字画成“旋转风车”,发朋友圈被赞爆了!

  • 2026-09-10 09:48:03
少儿编程Python: 今天带娃搞了个好玩的,用代码把儿子的名字画成“旋转风车”,发朋友圈被赞爆了!

哈罗,各位家长朋友们!前两节课我们带孩子摸透了 while 循环的基本玩法,什么计数器啊、紧急刹车 break 啊,孩子们逻辑上是听懂了,但总觉得天天和数字打交道有点枯燥。

实不相瞒,今天推文里的这几个黑科技小案例,是我昨晚陪娃在电脑前足足折腾了两个小时的成果。我们把之前学到的循环知识,跟之前玩过的小海龟画笔(Turtle)结合在了一起。当看到屏幕上刷刷刷闪现出炫彩螺旋线和孩子自己的名字风车时,小家伙眼睛都直了,连连惊呼:“爸爸/妈妈,原来代码能画出这么酷的东西!”

如果你也想让孩子炫一把,赶紧把今晚这份“海龟大变身”的代码复制去带娃试一把,保准成就感直接拉满!

召唤术一:只要你敢输,海龟就敢画的“万能多边形”

以前我们教孩子画正方形,得老老实实写 4 遍前进、4 遍转弯。那要是想画一个正十边形、正一百边形呢?难道代码要写几百行吗?

这时候把 while 循环往上一套,电脑的威力就出来了。而且,这里面还藏着一个超级经典的数学小常识:任何多边形的外角和都是 360 度!所以,想画正几边形,每次转弯的角度就是 360 / 边数。

快让孩子敲下这段魔法代码:

import turtleturtle.color('blue')n = int(input('你想画正几边形?请输入边数:'))  # 让孩子输入一个数字i = 0while i < n:  # 当数数没达到输入的边数时,就一直画turtle.forward(100)    turtle.left(360 / n)  # 无论多少边形,用360除以边数就是每次要转的角度!i += 1  # 计数器加1turtle.done()
陪娃小互动:
 运行后让孩子试着输入 5(正五边形)、8(正八边形),甚至输入 36。你会发现,当输入的数字足够大时,小海龟竟然活生生画出了一个圆!孩子在这个过程中,瞬间就能理解数学里“正多边形无限趋近于圆”的奇妙概念。

召唤术二:自带 3D 视觉错觉的“魔幻立体沙漏”

掌握了固定步长的画法,我们带孩子再玩一个好玩的:如果每次循环的时候,让海龟爬行的距离偷偷发生变化,会发生什么?

我们再引入一个小小的数学余数判断(i % 2 == 0),让它走一步换一个颜色:

import turtleturtle.speed(100)  # 把海龟速度调到最快,开始炫技!i = 0while i < 200:    turtle.forward(200 - i)  # 关键点:每一圈走的路,都比上一圈缩短一点点!turtle.left(90)# 奇数步和偶数步用不同的颜色,制造渐变错觉if i % 2 == 0:        turtle.pencolor('white')  # 甚至可以把背景设成黑的,用白色和粉色交替else:        turtle.pencolor('pink')    i += 1turtle.done()
这段代码跑起来之后,屏幕上会凭空出现一个深邃的、自带立体感的几何沙漏图案。娃在旁边看呆了,直问我是不是加了什么特效。其实,不过是“距离递减”+“颜色交替”的数学小把戏而已!

召唤术三:酷炫到能直接拿来当壁纸的“极光黑夜螺旋”

接下来这个,是我昨晚发朋友圈的素材,科技感直接拉满。 我们把舞台背景抹成神秘的纯黑(black),然后让小海龟开启无限循环模式(while True:)。

最绝的是:我们不转整整 60 度,而是转 60.5 度!就因为这小小的 0.5 度偏差,线条每一圈都会微微错开,最后编织出一幅极光般璀璨的螺旋网!

turtle.speed(100)turtle.pensize(2)turtle.bgcolor("black")  # 背景刷成高级黑x = 0while True:  # 开启无限大招turtle.forward(x / 6 + x)  # 步长随着循环越来越大,螺旋往外扩散# 用余数分配6种不同颜色,让极光更丰富if x % 6 == 1 or x % 6 == 5:        turtle.color('purple')elif x % 6 == 2 or x % 6 == 4:        turtle.color('yellow')elif x % 6 == 3:        turtle.color('red')else:        turtle.color('blue')    turtle.left(60.5)  # 就是这小小的0.5度,创造了密密麻麻的错开美感!x += 1
压轴大戏:今天的重头戏——专属“姓名风车”!

玩到最后,孩子问我:“爸爸/妈妈,能不能让海龟画我的名字啊?” 能!当然能!安排!

我们用到一个全新的好玩命令叫 turtle.textinput(),它能在电脑屏幕上弹出一个精美的小输入框,像玩游戏建号一样,让孩子亲手把自己的名字打进去。接着,海龟每走到一个地方,不用笔画线,而是直接把名字写在画布上!

import turtleimport turtleturtle.speed(100)turtle.bgcolor("cyan")  # 设置个好看的青色背景# 弹出一个高科技小框,让孩子输入自己的名字my_name = turtle.textinput("姓名大作战", "请输入你的名字:")x = 0while x < 60:# 轮流换颜色,风车就是要五彩斑斓if x % 4 == 0:        turtle.pencolor('red')elif x % 4 == 1:        turtle.pencolor('orange')elif x % 4 == 2:        turtle.pencolor('green')else:        turtle.pencolor('blue')    turtle.penup()  # 抬起画笔,咱们不画线条,咱们写字turtle.forward(x * 4)  # 每圈往外走得更远一点turtle.pendown()  # 放下画笔# 在当前位置写下孩子的名字!字号也会随着往外走变得越来越大哦!turtle.write(my_name, font=("Arial", int((x + 4) / 4), "bold"))    turtle.left(92)  # 微微偏过直角,形成旋转风车的效果x += 1turtle.done()
当程序运行起来,在框里输入孩子名字的那一刻,海龟就会在屏幕上像转动的风车一样,把孩子的名字以绚丽多彩、由小到大的形式层层铺开!

昨晚我儿子看到自己的名字变成了“大风车”,兴奋得满屋子跑,还非要拿我手机拍下来发给外公外婆炫耀,别提多自豪了。

💡 今日带娃碎碎念

今天带孩子玩的这一手,在编程里管叫“多模态视觉应用”,其实说白了就是把枯燥的代码逻辑用最直观、最震撼的画面展示出来。

最新文章

随机文章