Py学习  »  Python

5分钟轻松搞定,Python开发之turtle库的基本操作

Python圈子 • 3 年前 • 281 次点击  
阅读 2

5分钟轻松搞定,Python开发之turtle库的基本操作

文源网络,仅供学习之用,如有侵权请联系删除。

基础总结

turtle库是python标准库之一,入门级绘图库。import turtle之后即可使用。

turtle绘图原理:有一只海龟,其实在窗体正中心,在画布上游, 走过的轨迹形成了绘制的图形,海龟由程序控制,可以变换 颜色、改变宽度等。

file

1、绘图窗口设置命令

turtle.setup(400,300,200,100):参数以此(宽,高,距离屏幕左边距离,距离屏幕上方距离),屏幕左上角原点,单位像素。

2、运动命令

turtle.goto(x,y):直接跳转到(x,y)点,以绘图窗口中心为原点,向右为x轴,向上为y轴。

turtle.fd(d)、turtle.forward(d):以当前方向,往前行进d像素。

turtle.bk(d)、turtle.backword(d):保持当前方向不变,往后退行d像素。

turtle.circle(r,angle):从当前位置以r为半径圆的angle角度旋转。

file

3、方向设置命令

turtle.seth(angle):以x轴方向为起点将方向偏转为angle度,逆时针为正。只改变行进方向但不行进。

turtle.left(angle):在当前行进方向的基础上,向左旋转angle度。

turtle.right(angle):在当前行进方向的基础上,向右旋转angle度。

4、画笔控制命令

turtle.penup():台笔

turtle.pendown():落笔

turtle.pensize(width):画笔粗细

turtle.pencolor(颜色名red/RGB三元组/颜色编码):画笔颜色

turtle.fillcolor(colorstring):绘制图形的填充颜色

turtle.begin_fill():开始填充

turtle.end_fill():结束填充

turtle.filling():返回当前是否在填充状态

示例

1、使用 turtle 库的 turtle.fd() 函数和 turtle.seth() 函数绘制一个等边三角形,边长为 200 像素,效果如下图所示。

file

 import turtle as t
 for i in range(3):
     t.seth(i*120)
     t.fd(200)复制代码

2、使用 turtle 库的 turtle.fd() 函数和 turtle.seth() 函数绘制一个边长为 200 的正方形,效果如下图所示。

file

import turtle
d = 0
for i in range(4):
    turtle.fd(200)
    d=d+90
    turtle.seth(d)复制代码

3、使用 turtle 库的 turtle.right() 函数和 turtle.fd() 函数绘制一个菱形四边形,边长为 200 像素,效果如下图所示。

file

import turtle as t
t.right(-30)
for i in range(2):
    t.fd(200)
    t.right(60*(i+1))
for i in range(2):
    t.fd(200)
    t.right(60*(i+1))复制代码

4、用 turtle 库的 turtle.fd() 函数和 turtle.left() 函数绘制一个六边形,边长为 200 像素,效果如下图所示。

file

import turtle as t
for i in range(6):
    t.fd(200)
    t.left(60)复制代码

5、用 turtle 库的 turtle.fd() 函数和 turtle.seth() 函数绘制一个五边形,边长为 200 像素,效果如下图所示。

file

import turtle
d = 0
for i in range(5):
    turtle.fd(200)
    d += 72
    turtle.seth(d)复制代码

6、使用 turtle 库的 turtle.circle() 函数、turtle.seth() 函数和 turtle.left() 函数绘制一个四瓣花图形,从左上角花瓣开始,逆时针作画,效果如下图所示。

file

import turtle as t
for i in range(4):
    t.seth(90 * (i + 1))
    #90,180,270,360
    t.circle(200,90)
    #-90,0,90,180
    t.seth(-90 + i * 90)
    t.circle(200,90)复制代码

7、使用 turtle 库的 turtle.right() 函数和 turtle.circle() 函数绘制一个四叶草,效果如下图所示。

file

import turtle
for i in range(4):
    turtle.right(90)
    turtle.circle(50,180)复制代码

8、使用 turtle 库的 turtle.right() 函数和 turtle.circle() 函数绘制一个星星图形(半径为90),如下图所示。

file

import turtle
for i in range(4):
    turtle.circle(-90,90)
    turtle.right(180)复制代码

9、使用 turtle 库的 turtle.circle() 函数和 turtle.seth() 函数绘制套圈,最小的圆圈半径为 10 像素,不同圆圈之间的半径差是 40 像素。效果如下图所示。

file

import turtle
r =10
head = 90
for i  in range (4):
   turtle.seth(head)
   turtle.circle (r)
   r = r + 40
turtle.done()复制代码

10、使用 turtle 库的 turtle.circle() 函数和 turtle.seth() 函数绘制同心圆套圈,最小的圆圈半径为 10 像素,不同圆圈之间的半径差是 40 像素,效果如下图所示。

file

import turtle
r = 10
dr = 40
head = 90
for i  in range (4):
    turtle.pendown()
    turtle.circle(r)
    r +=  dr
    turtle.penup()
    turtle.seth(-head)
    turtle.fd(dr)
    turtle.seth(0)
turtle.done()复制代码

是不是感觉很简单?那就对了,Python本身就是一门易懂的语言程序,经过咱们一段时间的基础教程,相信大家会很容易接受turtle库的处理。

在学习Python的道路上肯定会遇见困难,别慌,我这里有一套学习资料,包含40+本电子书,800+个教学视频,涉及Python基础、爬虫、框架、数据分析、机器学习等,不怕你学不会! shimo.im/docs/JWCghr… 《Python学习资料》

关注公众号【Python圈子】,优质文章每日送达。

file

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/63224
 
281 次点击