我们直接上代码:
#PythonDraw.py
import turtle #使用turtle库
turtle.setup(650, 350, 200, 200) #设定画布在屏幕上的位置
turtle.penup() #提起画笔,让海龟从画布中心移动到我们想要的位置
turtle.fd(-250) #让海龟沿着当前行进的反方向行进250个像素
turtle.pendown() #放下画笔,到达我们开始绘图的地方
turtle.pensize(25) #设定海龟的腰围
turtle.pencolor("purple") #设定海龟的颜色
turtle.seth(-40) #设定海龟开始的行进方向
for i in range(4): #设定一个4次循环
turtle.circle(40, 80) #海龟以当前左侧半径为40的原点沿曲线旋转80度
turtle.circle(-40, 80) #海龟以当前右侧半径为40的原点沿曲线旋转80度
turtle.circle(40, 80/2) #构建蟒蛇的脖子
turtle.fd(40) #海龟向前行进40个像素
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
turtle.done() #当我们用文件式运行代码的时候,使用这个函数后程序结束就不会自动退出
下面我们来看看几个知识点
一、库引用
第一行代码我们提到这里使用了turtle库,这里我们要来学习库引用,他是扩展python程序功能的一种方式,使用 import 保留字来完成,采用<a>.<b>的编码风格,就像代码中的turtle.setup(),那么这种表示方式我们看到有好多turtle啊,还有没有其他的简单方式呢?有
1.使用from <库名> import <函数名> 或者from <库名> import*
#PythonDraw.py
from turtle import*
setup(650, 350, 200, 200)
penup()
fd(-250)
pendown()
pensize(25)
pencolor("purple")
seth(-40)
for i in range(4):
circle(40, 80)
circle(-40, 80)
circle(40, 80/2)
fd(40)
circle(16, 180)
fd(40 * 2/3)
done()
2.使用import <库名> as <库别名>
采用这种方式我们可以给库名取一个别名,从而缩短库名
#PythonDraw.py
import turtle as t
t.setup(650, 350, 200, 200)
t.penup()
t.fd(-250)
t.pendown()
t.pensize(25)
t.pencolor("purple")
t.seth(-40)
for i in range(4):
t.circle(40, 80)
t.circle(-40, 80)
t.circle(40, 80/2)
t.fd(40)
t.circle(16, 180)
t.fd(40 * 2/3)
t.done()
turtle.setup(width,height,startx,starty)
二、turtle画笔控制函数:
turtle.penup() 别名 turtle.pu() //提起画笔,让海龟飞行,不会绘制图形轨迹
turtle.pendown() 别名 turtle.pd() //落下画笔,让海龟降下,开始绘制图形轨迹
turtle.pensize(width) 别名 turtle.width(width) //设定海龟的腰围
turtle.pencolor(colorstring) color为颜色字符串或者r,g,b值 turtle.pencolor(r,g,b) //设定海龟的颜色
注意画笔设置以后一直有效
三、turtle运动控制函数
turtle.forward(d) 别名 turtle.fd(d) //控制海龟向前行进,直线,d可以为负数
turtle.back(d) 别名 turtle.bk(d) //控制海龟向后行进
turtle.circle(r,extent=none) //控制海龟以当前行进方向左侧为半径绘制extent角度的弧形,不指定默认是绘制360度的整元
四、turtle方向控制函数
turtle.setheading(angle) 别名 turtle.seth(angle) //控制海龟行进方向,海龟走角度
注意这里是绝对角度:
turtle.left(angle)
turtle.right(angle) //这里控制的是海龟角度
五、循环语句
for <变量> in range(次数) : //控制语句执行次数
这里的变量是用来循环计数的,它的值是0 到 <次数>-1,小伙伴们可以运行下面的代码自行体会一下
for i in range(5):
print(i)
range函数是用来产生循环计数序列
比如range(5),产生0,1,2,3,4
range(2,5)产生2,3,4