turtle库的使用(笔记)

1、turtle的绘图窗体

 

turtle.setup(widthheightstartxstarty

-setup()设置窗体大小和位置

-4个参数中后两个可选

一二两个参数是指窗口的长度与宽度

startx指窗体的左上角的位置的坐标。

 

 

turtle.setup(800, 800, 0, 0)

如果没有后面两个参数,系统会默认在程序的正中心。

 

2、turtle的空间坐标体系

 

-绝对坐标

窗口的正中心(0,0)

 

 

turtle.goto(x, y)

让在任何位置的海龟,无论它在哪里,去到达某一个坐标位置。

 

turtle.fk(d)

往海龟的正前方向运行。

turtle.bk(d)

往海龟的反方向运行。

turtle.circle(r, angle)

以海龟当前位置左侧的某一个点为圆心进行曲线运行。

 

3.turtle角度坐标体系

- seth()改变海龟行进方向

- seth()只改变方向但不行进   

- angle为绝对度数

 

left()right(是让海龟向左或向右改变运行方向

 

 

实例(一)

 

import turtle

turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)

 

 

4、RGB色彩体系

- RGB指红蓝绿三个通道的颜色组合

- 覆盖视力所能感知的所有颜色

- RGB每色取值范围0-255整数或0-1小数

 

 

turtle.colormode(mode)

- 1.0: RGB小数值模式

- 255:RGB整数值模式

 

 

使用import保留字对turtle库的引用有如下三种方式

from<库名>import<函数名>

from<库名>import *

    调用函数不需要<库名>,直接使用<函数名>

import turtle as t,则对turtle库中函数调用采用更简洁的t.<函数名>()形式,保留字as的作用是将turtle库给予别名t。

 

5、画笔状态函数

函数

描述

pendown()

放下画笔

penup()

提起画笔,与pendown()配对使用

pensize(width)

设置画笔线条的粗细为指定大小

color()

设置画笔的颜色

begin_fill()

填充图形前,调用该方法

end_fill()

填充图形结束

filling()

返回填充的状态,True为填充,False为未填充

clear()

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

reset()

清空当前窗口,并重置位置等状态为默认值

screensize()

设置画布的长和宽

hideturtle()

隐藏画笔的turtle形状

showturtle()

显示画笔的turtle形状

isvisible()

如果turtle可见,则返回True

write(strfont=None)

输出font字体的字符串

  • turtle.penup()   别名  turtle.pu(), turtle.up()

作用:抬起画笔,之后,移动画笔不绘制形状

参数:无

 

  • turtle.pendown()   别名  turtle.pd(), turtle.down()

作用:落下画笔,之后,移动画笔将绘制形状

参数:无

 

  • turtle.pensize(width)   别名  turtle.width()

作用:设置画笔宽度,当无参数输入时返回当前画笔宽度

参数

width :设置的画笔线条宽度,如果为None或者为空,函数则返回当前画笔宽度。

 

  • turtle.pencolor(colorstring) 或者  turtle.pencolor((r,g,b))

作用:设置画笔颜色,当无参数输入时返回当前画笔颜色

参数

colorstring :表示颜色的字符串,例如:"purple""red""blue"

(r,g,b): 颜色对应RGB01数值,例如:1, 0.65, 0

 

6、画笔运动函数

函数

描述

forward()

沿着当前方向前进指定距离

backward()

沿着当前相反方向后退指定距离

right(angle)

向右旋转angle角度

left(angle)

向左旋转angle角度

goto(x,y)

移动到绝对坐标(x,y)处

setx( )

将当前x轴移动到指定位置

sety( )

将当前y轴移动到指定位置

setheading(angle)

设置当前朝向为angle角度

home()

设置当前画笔位置为原点,朝向东。

circle(radius,e)

绘制一个指定半径r和角度e的圆或弧形

dot(r,color)

绘制一个指定半径r和颜色color的圆点

undo()

撤销画笔最后一步动作

speed()

设置画笔的绘制速度,参数为0-10之间

 

 

  • turtle.fd(distance)    别名  turtle.forward(distance)

作用:向小海龟当前行进方向前进distance距离

参数

distance :行进距离的像素值,当值为负数时,表示向相反方向前进。

 

  • turtle.seth(to_angle)    别名  turtle.setheading(to_angle)

作用:设置小海龟当前行进方向为to_angle,该角度是绝对方向角度值。

参数

to_angle :角度的整数值。

 

  • turtle.circle(radius, extent=None)

作用:根据半径radius绘制extent角度的弧形。

参数

radius :弧形半径,当值为正数时,半径在小海龟左侧,当值为负数时,半径在小海龟右侧;

extent : 绘制弧形的角度,当不给该参数或参数为None时,绘制整个圆形。

 

7、绘制一些基本图形

(1)正方形

import turtle
d = 0
for i in range(1, 5):
    turtle.fd(200)
    d += 90
    turtle.seth(d)

(2)同心圆

import turtle as t
def DrawCctCircle(n):
    t.penup()
    t.goto(0, -n)
    t.pendown()
    t.circle(n)
for i in range(20,80,20):
    DrawCctCircle(i)
t.done()

(3)菱形四边形

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

for i in range(2):
    t.fd(200)
    t.right(60 * (1+i))

 

(4)六边形

import turtle as t
for i in range(6):
    t.fd(100)
    t.left(60)

 

(5)python

import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup() # 将笔抬起
turtle.fd(-250) # 向左移动250像素
turtle.pendown() # 放下笔开始画
turtle.pensize(25) # 笔宽为25像素
turtle.pencolor('purple')
turtle.seth(-40) # 朝向-40度
# .left(angle) 海龟向左转  angle:在海龟当前行进方向上旋转的角度
# .left(angle) 海龟向右转
for i in range(4):
    turtle.circle(40, 80) # 根据半径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() # 画完不退出

 

(6)菱形四边形

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))
t.done()

 

(7)四瓣花图形

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)

 

(8)四叶草

​import turtle
turtle.color("green")
turtle.begin_fill()
for i in range(4):
    turtle.right(90)
    turtle.circle(50, 180)
turtle.done()

​

 

 

 

 

 

(9)星星图形

import turtle
turtle.pensize("10")
turtle.color("yellow")
turtle.begin_fill()
for i in range(4):
    turtle.circle(-90,90)
    turtle.right(180)

turtle.done()

 

 

 

  • 36
    点赞
  • 142
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值