实例2: Python蟒蛇绘制
这是"实例"题,与课上讲解实例相同,请作答检验学习效果。
使用turtle库,绘制一个蟒蛇形状的图形。
#PythonDraw.py
import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40, 80)
turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
turtle.done()
-
import turtle
:这是导入turtle模块的命令,使得你可以使用turtle库中的函数和数据类型。 -
turtle.setup(650, 350, 200, 200)
:这个函数设置了一个窗口,用于显示turtle的图形。参数分别代表窗口的宽度、高度、左边缘的位置和顶部的位置。 -
turtle.penup()
:此命令将画笔提起,所以移动画笔时不会留下轨迹。 -
turtle.fd(-250)
:此命令让画笔向前移动-250个单位(向左移动,因为y轴向下是正方向)。 -
turtle.pendown()
:此命令将画笔放下,所以移动画笔时会留下轨迹。 -
turtle.pensize(25)
:此命令设置画笔的宽度为25个单位。 -
turtle.pencolor("purple")
:此命令设置画笔的颜色为紫色。 -
turtle.seth(-40)
:此命令设置画笔的初始方向为-40度(也就是朝向左上方)。 -
下面的循环创建了一个图形:
turtle.circle(40, 80)
:此命令让画笔绘制一个半径为40、角度为80度的圆弧。由于初始方向是朝向左上方,所以先绘制一个顺时针的圆弧。turtle.circle(-40, 80)
:此命令让画笔绘制一个半径为-40、角度为80度的圆弧。由于方向没有改变,所以这个圆弧是逆时针的。turtle.circle(40, 80/2)
:此命令让画笔绘制一个半径为40、角度为80/2度的圆弧。由于方向没有改变,所以这个圆弧是顺时针的,并且角度更小。turtle.fd(40)
:此命令让画笔向前移动40个单位(向右移动,因为y轴向下是正方向)。turtle.circle(16, 180)
:此命令让画笔绘制一个半径为16、角度为180度的圆弧。由于方向没有改变,所以这个圆弧是顺时针的。turtle.fd(40 * 2/3)
:此命令让画笔向前移动40 * 2/3个单位(向右移动,因为y轴向下是正方向)。
-
turtle.done()
:此命令完成绘图,并保持窗口打开状态,直到用户关闭它
turtle四边形绘制
使用turtle库,绘制一个正方形。
# 导入turtle模块,并为其设置别名t,这样在后面的代码中我们可以使用t来代替turtle模块
import turtle as t
# 设置画笔的宽度为2像素
t.pensize(2)
# 循环四次,i的值从0到3
for i in range(4):
# 向前移动150像素
t.fd(150)
# 左转90度,相当于逆时针旋转90度
t.left(90)
turtle六边形绘制
使用turtle库,绘制一个六边形。
import turtle as t
t.pensize(2)
for i in range(6):
t.fd(150)
t.left(60)
turtle叠边形绘制
使用turtle库,绘制一个叠边形,其中,叠边形内角为100度。
注意:这不是自动评阅题目,仅用于练习,没有评阅。
输出示例
import turtle as t
t.pensize(2)
for i in range(9):
t.fd(150)
t.left(80)
turtle风轮绘制
使用turtle库,绘制一个风轮效果,其中,每个风轮内角为45度,风轮边长150像素。
注意:这不是自动评阅题目,仅用于练习,没有评阅。
提示:turtle.goto(x,y)函数,能够将turtle画笔移动到坐标(x,y)
import turtle as t
t.pensize(2)
for i in range(4):
t.seth(90*i)
t.fd(150)
t.circle(-150, 90) # 旋转90度,绘制一个完整的叶片
t.goto(0,0) # 回到原点,准备绘制下一个叶片