Python-Turtle 简易教程
Python中的Turtle库是自带的一个简单画图库,以tkinter为底层实现。我们通过控制初始位置为(0,0)的海龟进行移动,在屏幕上留下线条最终构成我们想要的图像。废话不多说,先上代码:
importturtle
importrandom
classMyTurtle(turtle.Turtle):
#画一个初始角度为x,边长为x的正方形
defdraw_square(self,x):
self.setheading(x)
foriinrange(4):
self.forward(x)
self.left(90)
return
#随机获取rgb模式下的颜色的三个参数
defget_color(self):
rgb= []
foriinrange(3):
rgb.append(random.randint(,255))
returnrgb
#设置画笔的颜色
defset_pen_color(self):
self.screen.colormode(255)
self.pencolor(self.get_color())
t=MyTurtle()
t.screen.bgcolor("black")
t.speed()
# 遍历1~1000°内的所有角度,随着初始角度增大,正方形的边长也增大
x=1
whilex
t.set_pen_color()
t.draw_square(x)
x=x+1
t.screen.mainloop()效果图
自己写的……嗯,还是不说了。只要设计好用基本图形(也可以自定义的基本图形)有规律的构成图案,用代码实现就很简单了。现在简单分析上面的代码:
importturtle
importrandom
classMyTurtle(turtle.Turtle):
...首先导入 我们要用的turtle 模块,以及生产随机数的random模块。自定义一个MyTurtle类,继承turtle模块中的Turtle类,在其中我们可以自定义一些方法。
#画一个初始角度为x,边长为x的正方形
defdraw_square(self,x):
#设置海龟方向
self.setheading(x)
foriinrange(4):
#使海龟向前移动x
self.forward(x)
#使海龟向逆时针旋转90°
self.left(90)
return设置海龟的初始方向为a,将屏幕看成一个二维坐标系,初始位置为(0,0),横向为x轴,纵向为y轴,a为当前方向与x轴的角度。相同作用函数:使海龟以当前方向向前爬行x距离。同作用函数:;反作用函数:||注:这三个函数不改变当前方向使海龟逆时针旋转x°。反作用函数:使海龟顺时针旋转90°
#随机获取rgb模式下的颜色的三个参数,以列表的形式返回
defget_color(self):
rgb= []
foriinrange(3):
rgb.append(random.randint(,255))
# rgb=[a,b,c]
returnrgb
#设置画笔的颜色
defset_pen_color(self):
#可以通过设置colormode,更改设置颜色的方式
self.screen.colormode(255)
# 设置画笔颜色
self.pencolor(self.get_color())cmode 为1 或者 255,随后rgb三元组的值必须在0~comde之间设置画笔颜色
color = None : 放回当前颜色
color = string: 通过字符串设置颜色 ,如 black、red……等
color = (r,g,b):通过rgb模式设置颜色
#实例化MyTurtle对象
t=MyTurtle()
t.screen.bgcolor("black")
t.speed()设置屏幕颜色,方式同s为0-10的整数或者速度字符串
None:返回当前速度
"fastest":0
"fast"::10
"normal"::6
"slow"::3
"slowest"::1
t.screen.mainloop()开始事件循环,循环语句为程序最后一条语句。同作用函数:
常用的函数简单总结
另附官方文档链接
https://docs.python.org/3/library/turtle.html?highlight=turtle#module-turtle
最后
谢谢关注!
——dknight
领取专属 10元无门槛券
私享最新 技术干货