当前位置:首页>python>数学课画多边形画到崩溃?Python海龟一笔搞定,连角度都帮你算好了!

数学课画多边形画到崩溃?Python海龟一笔搞定,连角度都帮你算好了!

  • 2026-10-11 05:53:46
数学课画多边形画到崩溃?Python海龟一笔搞定,连角度都帮你算好了!

数学课画多边形画到崩溃?Python海龟一笔搞定,连角度都帮你算好了!


开篇小故事

数学课上,老师让每个人画一个正六边形。

朵朵用量角器量了半天:"120 度、120 度……哎呀又歪了!"

同桌小明偷偷打开 Python,敲了几行代码,一个完美的正六边形出现在屏幕上。

"你怎么做到的?"朵朵羡慕地问。

小明神秘一笑:"秘密就是——海龟作图!"


你能学到什么

  • • 理解正多边形的内角和外角
  • • 学会 turtle 库画任意正多边形
  • • 掌握一个万能公式:海龟每次转弯角度 = 360° ÷ 边数

数学小课堂:正多边形的秘密

正多边形
边数
每个外角
每次转弯角度
正三角形
3
120°
120°
正方形
4
90°
90°
正五边形
5
72°
72°
正六边形
6
60°
60°
正八边形
8
45°
45°
……
n
360°/n
360°/n

为什么是 360° ÷ n?

想象你在一张纸上沿着正多边形的边走一圈——走完一圈后,你刚好转了整整一圈(360°)。

正 n 边形有 n 个顶点,每个顶点转的角度一样,所以每个顶点的转弯角度就是 360° ÷ n。


直接上代码

基础版:画一个正六边形

import turtleturtle.speed(3)turtle.pensize(3)turtle.pencolor("blue")bianchang = 100  # 边长,随便改bian_shu = 6     # 边数,随便改for i in range(bian_shu):    turtle.forward(bianchang)       # 向前画一条边    turtle.right(360 / bian_shu)    # 右转:360° ÷ 边数turtle.done()

万能版:你想画几边形就画几边形

import turtlebian_shu = int(input("画几边形?"))bianchang = int(input("边长多少?"))turtle.speed(3)turtle.pensize(3)turtle.pencolor("purple")for i in range(bian_shu):    turtle.forward(bianchang)    turtle.right(360 / bian_shu)print(f"正{bian_shu}边形画好了!每个外角是 {360/bian_shu}°")turtle.done()

输入 8 和 80,一个正八边形就出来了!


代码讲解

代码
作用
turtle.right(360 / bian_shu)
这是核心!自动算转弯角度
for i in range(bian_shu):
重复画 bian_shu 条边
turtle.forward(bianchang)
向前走一条边
turtle.speed(3)
海龟画图速度(1最慢,10最快)
turtle.pensize(3)
画笔粗细

进阶版:画彩色旋转多边形

import turtleturtle.speed(0)turtle.bgcolor("black")  # 黑色背景colors = ["red", "orange", "yellow", "green", "cyan", "blue", "purple"]for bian_shu in range(3, 11):  # 从三角形画到十边形    turtle.pencolor(colors[(bian_shu - 3) % len(colors)])    for i in range(bian_shu):        turtle.forward(80)        turtle.right(360 / bian_shu)turtle.done()

运行后,从正三角形到正十边形,七彩旋转,非常酷炫!


试试加点变化?

变化
怎么改
画星形
把 right() 改成 left(),或者把角度乘 2
画圆
边数设很大(比如 360),看起来就像圆了!
填充颜色
加 turtle.fillcolor("yellow")、begin_fill()、end_fill()
画螺旋
每次边长递增:bianchang = bianchang + 5

易错点提醒

易错点
原因
怎么改
360 / bian_shu
 除不尽
小数角度也没关系,turtle 支持
不用管
忘记 turtle.done()
窗口闪退
最后一行必须加
把 right 写成 left
转角方向不对
画之前想好海龟往哪转

学校信息课考点预告

本期涉及:

  • • turtle 图形编程——新课标"图形化与代码编程"必修模块
  • • 几何角度计算——数学与编程的跨学科融合
  • • 循环应用——用 for 循环实现重复图形绘制
  • • 变量控制——通过改变边数、边长等参数画不同图形

家长辅导小贴士

  1. 1. 先在纸上画:和孩子一起用量角器画一个正五边形,感受一下外角 72° 是什么概念。再上 Python 画,对比差异。
  2. 2. 提问引导思考:"如果把 right 改成 left,图形会有什么变化?""如果把边数设成 360,会出现什么?"
  3. 3. 鼓励创造:让孩子自己设计一个"多边形家族"——三角形、正方形、五边形……排成一排,每个不同颜色。
  4. 4. 如果孩子对角度感兴趣,可以延伸到"为什么三角形内角和是 180°?四边形是 360°?"——用 turtle 画对角线来验证。

最新文章

随机文章