欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

turtle库

时间:2023-05-31

(1)turtle库的概述

turtle库是python重要的标准库之一,它能够进行简单的图形绘制。turtle库绘制图形有一个基本的框架,以窗体中心为坐标原点建立平面直角坐标系。

(2)turtle库绘图的基本方法

1)窗体函数setup(width,height,startx,starty)

setup()函数用于设置画布的大小和位置,参数包括画布窗口宽,高,窗口在屏幕的起始位置和垂直位置

例如:setup(640,500,350,350)表示在桌面(350,350)位置开始创建640*500大小的画布窗体

2)画笔状态函数

penup():没有参数,作用是提起画笔后移动画笔不会再绘制图形

pendown():没有参数,作用是放下画笔后移动画笔可以再绘制图形

pensize(width):参数是所要设置画笔的宽度,无参数时返回当前的画笔宽度

pencolor(color):参数用来设置画笔的颜色,无参数时返回当前画笔的颜色

color():设置画笔和填充颜色

begin_fill():在填充图形之前调用

end_fill():在填充图形之后调用,表示填充颜色结束

filling():返回填充的状态,True表示已填充,False表示没有填充

clear():清空当前窗口,但不改变当前画笔的位置

reset():清空当前窗口,并把所有状态重置为默认值

screensize():设置画布的宽,高,背景颜色

hideturtle():隐藏画笔的turtle形状

showturtle():显示画笔的turtle形状

isvisible():如果turtle可见,返回True

write():输出中文标签,可选的参数有对齐方式align(left,center,right),font元组形字体设置(字体,字号,字形)

3)画笔运动函数

forward(distance):把画笔当前方向前进distance距离。

backward(distance):当前的相反方向后退distance距离

right(angle):向右旋转angle角度

left(angle):向左旋转angle角度

goto(x,y)把当前坐标移动到坐标(x,y)处

seth(to_angle):设置画笔的当前朝向为to_angle角度,该角度为绝对方向角度值

home():设置当前画笔位置为原点,向右为正

circle(radius,extent=None):根据半径radius绘制角度为extent的图形;当不给extent参数或者extent=None时,绘制整个圆形

eg1:绘制一个五角星

from turtle import *fillcolor("red")begin_fill()for i in range(5): fd(200) right(144)end_fill()

eg2:使用turtle库绘制树形

from turtle import Turtle, mainloopfrom time import clockdef tree(plist,l,a,f): if l>3: lst=[] for p in plist: p.forward(l) q=p.clone() p.left(a) q.right(a) lst.append(p) lst.append(q) for x in tree(lst,1*f,a,f): yield Nonedef maketree(): p=Turtle() p.setundobuffer(None) p.hideturtle() p.speed(0) p.getscreen().tracer(30,0) p.left(90) p.penup() p.forward(-210) p.pendown() t=tree([p],200,65,0.6375) for x in t: pass print(len(p.getscreen().turtles()))def main(): a=clock() maketree() b=clock() return "done:%.2f sec."%(b-a)if __name__=="__main__": msg=main() print(msg) mainloop()

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。