Python编程学习 | Turtle海龟画图 | 第二节 画圈圈

2025-10-04T18:23:08.png

【知识点】

  • 掌握如何使用画弧线,圆形和画多边形;
  • 掌握本节课相关英语单词;

一、画弧线

小朋友们上一节课我们学习了怎么画直线和画框框,那么这节课我们开始学习画弧线和画圈圈。还记得上节课我们提到,要使用海龟库turtle,需要先导入turtle,并且,在最后需要使用turtle.mainloop( )保持画布不会被关闭,然后我们要写的代码要放在这两行中间。让我们先把代码敲出来吧。

import turtle 
 

turtle.mainloop()

那么我们现在使用turtle.circle(x,y)画条弧线。这里的x是弧线的半径,y是弧线的度数,顺序千万别搞反了!小朋友们跟着我动手画一个半径为100像素,角度为90度弧线。

import turtle 

turtle.circle(100,90)

turtle.mainloop()

2025-10-04T18:28:28.png
细心的小朋友发现了这个弧形是在起点位置上方从右开始逆时针方向画了一条弧线。小朋友一定会想,如果半径是负数会画出什么样的弧?动手试试画一个半径为-100,度数为90的弧吧。

import turtle

turtle.circle(-100, 90)

turtle.mainloop()

半径为负数时,方向是在起点下方画起的,并且方向也反了,如果是度数是负数呢?再画一个半径为100,度数为-90的弧。

import turtle
turtle.circle(100, -90)
turtle.mainloop()

我们神奇的发现,它倒着画了一个反向弧形,注意哦,箭头的方向没有改变!是不是很有趣。最后如果都是负数呢?小朋友快快动手试试吧。
小朋友想象有一面镜子,注意镜子的效果是相反的,我们叫镜面效应。如果半径正负数,那么就是上下翻,注意方向也相反成顺时针,如果是度数正负数,就是左右翻,如果都是负数就是既然上下翻,又左右翻。小朋友能记住么?

【课堂练习1】画一个半径200,度数180的半圆弧线。

二、画圈圈

我们前面已经讲过怎么画一条弧线,试想一下,如果弧线的度数达到360度,那么是否就变成画了一个圆?小朋友们跟着我动手画一个半径为50的一个圆圈。

#画一个半径50像素的圆形
import turtle
turtle.circle(50,360)
turtle.mainloop()

2025-10-04T18:35:45.png

turtle.circle(50,360)有两个数值,50表示半径,360表示度数,默认情况下,360度可以不写。也就是说,turtle.circle(50)和turtle.circle(50,360)效果是一样的。

和画弧线一样,我们试试画一个半径为负数的圆形看看,为了能更直观的观察,我们同时画一个半径正数的圆和半径负数的圆。

import  turtle
turtle.circle(100, 360)
turtle.circle(-100, 360)
turtle.mainloop()

640-1751638731733-5.gif
上面代码先在起点处上方逆时针画了一个圆,回到起点后在起点的下方顺时针画了一个圆。

【课堂练习2】画一个半径200的圆圈。

三、画多边形

是不是都很简单?相信聪明的小朋友绝对有实力掌握以上知识点。那么我们再来点难的。前面我们已经讲到,circle()里面一个数值表示画一个圆,两个数值表示画一条弧线,当弧线达到360度,那么就变成了一个圆。那么,如果有三个值的话,那画出来的是什么?小朋友们跟着我动手试一试。

import turtle
turtle.circle(100,360,5)
turtle.mainloop()

2025-10-04T18:36:39.png
我们看到是五边形,turtle会把一个半径为100,度数为360的圆弧沿着弧边分成5等份,然后把这5个点连接起来形成圆内五边形。现在知道第三个数值是做什么用的了吧?

【课堂练习3】
画一个半径200的八边形。

四、总结

本节课我们学了circle( )在起点的上方逆时针画一条弧线,如果半径为负数,则像镜子一样上下翻;如果是度数为负数,则像镜子一样左右翻;如果都是负数,即上下翻右左右翻;当度数达到360度时,就变成一个圆形,如果第三个数值没写表示画圆弧,如果有写则表示要画N边行。

五、作业

一、选择题

  1. 在turtle.circle()函数中,若要绘制一个半径为 80 像素的半圆,以下代码正确的是?

A. turtle.circle(80, 180)
B. turtle.circle(180, 80)
C. turtle.circle(80, 360)
D. turtle.circle(360, 80)

  1. 以下关于turtle.circle()函数参数说法错误的是?

A. 第一个参数表示半径
B. 第二个参数表示度数
C. 第三个参数表示画笔粗细
D. 若不写第二个参数默认画整圆

  1. 若想画一个半径为 -150 像素的圆,以下代码正确的是?

A. turtle.circle(-150)
B. turtle.circle(150, -360)
C. turtle.circle(-360, 150)
D. turtle.circle(150)

  1. 在turtle.circle(120, 360, 6)中,该代码会绘制出?

A. 一个半径为 120 像素的圆
B. 一个半径为 120 像素,度数为 6 度的弧线
C. 一个半径为 120 像素的六边形
D. 一个半径为 6 像素的圆

  1. 绘制一个半径为 200 像素,度数为 -270 度的弧线,正确的代码是?

A. turtle.circle(-270, 200)
B. turtle.circle(200, -270)
C. turtle.circle(270, -200)
D. turtle.circle(-200, 270)

二、判断题

  1. 在turtle.circle()函数里,半径参数不能为负数。( )
  2. 当turtle.circle()函数只写一个参数时,一定是画一个完整的圆。( )
  3. 若要绘制一个逆时针的弧线,半径参数必须为正数。( )
  4. turtle.circle(50, 180)和turtle.circle(50, -180)绘制的弧线方向相同。( )
  5. 在画多边形时,turtle.circle()函数中的半径参数可以省略。( )

三、编程题

  1. 先画一个半径为 150 像素的圆,接着画一个半径为 100 像素,度数为 225 度的弧线。
  2. 画一个半径为 250 像素的十边形。
  3. 绘制一个半径为 -180 像素的圆。
  4. 画一条300px的直线,然后画一个半径100px的圆。

添加新评论