一。方法

1.forward() | fd():向前移动指定的距离。参数:一个数字(integer or float))

turtle.forward(25)

2.backward() | bk() | back():向后移动指定的距离。参数:一个数字(integer or float))。

turtle.backward(30)

3..right() | rt():以角度单位向右转动。参数:一个数字(integer or float))。单位默认为度数,可以通过degrees()和radians()进行设置。

turtle.right(45)

4.left() | lt():以角度单位向左转动。参数:一个数字(integer or float))。单位默认为度数,可以通过degrees()和radians()进行设置。

turtle.left(45)  

5.goto() | steps() | setposition():移动到绝对位置,如果笔落下,画线,不改变方向。参数:x-一个数字或一对数字。y-一个数字或None。

turtle.setpos(60,30) #60.00,30.00)

6.setx():设置第一个坐标的值即X方向。参数:一个数字(integer or float))。

turtle.setx(10) #(10.00,0.00)

7.sety():设置第二个坐标的值即Y方向。参数:一个数字(integer or float))。

turtle.sety(10) #(0.00,10.00)

8.setheading() | seth(): 北方向将方向设置为to_angle.就是东西南。具体如下:

标准模式:0 - 东  90 - 北 180 - 西 270 - 南  标志模式 0- 北   90- 东    180- 南    270 - 西

turtle.setheading(90)

9.home() : 移动到原点 - 坐标(0,0):并将其标题设置为其起始方向(取决于模式)

turtle.home() # (0.00,0.00)

10.circle():绘制一个给定半径的圆。参数:radius-一个数字(半径,如果值为正则逆时针,负数为顺时针),extent-一个数字()steps- 执行的步数

turtle.circle(120,180,5)

11.dot() :用颜色画出一个直径大小的圆点。参数:size-一个大于1的整数,可None。默认用的是pensize+4和2*pensize的最大值,color-颜色值

turtle.dot(20, "blue")

12.stamp():将当前位置上的形状复制到画布上返回stamp_id.可以调用,可以删除。

turtle.stamp()

13.clearstamp():删除stamp()返回来的值。参数:stampid。

14.clearstamps():删除全部stamp()的值。参数:stampid。

15.undo():撤销最后的动作。

16.speed():将速度设置为0..10范围内整数。如果没有参数,则返回当前速度。如果大于10或者小于0.5,则速度设置为0 。

  • “最快”:0 :直接成图,没有动画效果
  • “快”:10:大概一秒
  • “正常”:6:
  • “慢”:3
  • “最慢”:1
  • 17:position() | pos(): 返回当前的位置。

    17:position() | pos(): 返回当前的位置。

    turtle.pos()
    # (0.00,0.00)
    18.towards(): 返回当前位置同指定位置之间的角度。参数:x-一个数字或一对数字或一个实例的向量,y-如果x是数字,则为数字,否则为None。

    turtle.goto(10,10)
    tw = turtle.towards(0,0)
    print(tw)
    # 225
    19.xcor():返回x坐标。

    ycor():返回y坐标。

    20.heading(): 返回当前的方向值。

    21.distance():返回x,y两个点的直线距离

    22.degrees():设置一整圈的度数。默认是360度。

    23.radians():将角度测量单位设置为弧度。相当于 degrees(2*math.pi)

    24.pendown() | pd() | down():放下笔,移动的时候绘图。

    25.penup() | pu() | up():将提起笔,移动时无图。

    26.pensize():设置线条的粗细。参数:width-一个正数

    27.pen():使用键值对设置笔的属性:

    “shown”: True/False
    “pendown”: True/False
    “pencolor”: 颜色字符串或者颜色值
    “fillcolor”: 颜色字符串或者颜色值
    “pensize”: 正数
    “speed”: 速度范围为0..10的数字
    “resizemode”: “auto” or “user” or “noresize”
    “stretchfactor”: (positive number, positive number)
    “outline”: 正数
    “tilt”: 正数

    28.isdown():如果笔停止返回True,反之False

    29.pencolor():设置笔的颜色。

    30.fillcolor():笔的填充色。

    31.color():同时设置pencolor和fillcolor

    32.filling():返回fillstate状态,如果填充则返回True,反之False。

    33.begin_fill():在绘制要填充的形状前调用。当然在调用完还需要end_fill()。

    34.reset():重置,将屏幕中的图纸删除,重新居中并将所有变量设置为默认值。

    35.clear():删除图纸。对属性不做操作。

    36.write():写文本。参数:arg-要写入的对象。move-是否移动。align-对齐方式:left,right,center。font-字体。fontname,fontsize,fonttype。

    37.hideturtle() | ht() :删隐藏乌龟的形状,在做复杂绘图的时候隐藏的时候有利于提高绘图速度。

    38.showturtle() | st():显示乌龟的形状。

    39.isvisible():乌龟是否可见。如果可见返回True,反之则False。

    40.shape():设置乌龟的图形形状,取值:“arrow”, “turtle”, “circle”, “square”, “triangle”, “classic”

    41.isvisible():乌龟是否可见。如果可见返回True,反之则False。

    42.resizemode():参数:rmode取值:"auto","user","noresize".

    43.shapesize() | turtlesize() : 返回笔的属性。

    44.shearfactor(): 设置或者返回但钱的剪切因子。

    45.tilt():旋转由turtle shape角度从当前的倾斜角度。

    46.settiltangle():无论当前的倾斜角度如何,旋转乌龟指向 angle 指定的方向。参数:angle -数字。已弃用

    47.tiltangle():设置或者返回当前的倾斜角度。参数:angle - 数字

    48.shapetransform():设置或返回乌龟的形状的当前转换矩阵。

    49.get_shapepoly():返回当前形状的坐标。

    50.onclick():鼠标点击事件。参数:fun-一个带有两个参数的函数,这些参数将与画布上单击点的坐标一个调用。num-鼠标按钮的数量,默认为1(左键)。add- True的时候将添加新的绑定。否则替换以前的绑定。

    51.onrelease():鼠标释放事件。参数同点击事件。

    52.ondrag():鼠标移动事件。参数同点击事件。

    53.begin_poly(): 开始记录多边形的顶点。

    54.end_poly():停止记录多边形的顶点。

    55.get_poly():返回最后记录的多边形。

    56.clone():创建并返回具有相同位置等等属性的乌龟克隆。

    57.getturtle() | getpen() :获取trutle对象本身。

    58.getscreen():返回正在绘制的对象。

    59.setundobuffer(): 设置或禁用中断器。参数: size-整数。如果大小是None,则禁用缓冲区。

    60.undobufferentries():返回undobuffer中的条目数。

    61.bgcolor():设置或者返回当前的TurtleScreen的背景颜色。

    62.bgpic():设置背景图片。参数: picname-文件名。

    62.delay(): 设置或返回以毫秒为单位的绘制延迟,延迟越大,绘图越慢。

    63.ontimer():定时器。

    64.mainloop() | done() :开始循环 。

    65.textinput() | numinput():弹出一个输入字符串和数字的窗口。

    66.mode(): 三种方式:“standard”, “logo” or “world”

二。

实例:

1、太阳花

1

2

3

4

5

6

7

8

9

10

11

12

13

14

# coding=utf-8

import turtle

import time

 

# 同时设置pencolor=color1, fillcolor=color2

turtle.color("red""yellow")

 

turtle.begin_fill()

for in range(50):

turtle.forward(200)

turtle.left(170)

turtle.end_fill()

 

turtle.mainloop()

  

2、五角星

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

# coding=utf-8

import turtle

import time

 

turtle.pensize(5)

turtle.pencolor("yellow")

turtle.fillcolor("red")

 

turtle.begin_fill()

for in range(5):

  turtle.forward(200)

  turtle.right(144)

turtle.end_fill()

time.sleep(2)

 

turtle.penup()

turtle.goto(-150,-120)

turtle.color("violet")

turtle.write("Done", font=('Arial'40'normal'))

 

turtle.mainloop()

  

3、时钟程序

3、时钟程序

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

# coding=utf-8

 

import turtle

from datetime import *

 

# 抬起画笔,向前运动一段距离放下

def Skip(step):

    turtle.penup()

    turtle.forward(step)

    turtle.pendown()

 

def mkHand(name, length):

    # 注册Turtle形状,建立表针Turtle

    turtle.reset()

    Skip(-length * 0.1)

    # 开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。

    turtle.begin_poly()

    turtle.forward(length * 1.1)

    # 停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。

    turtle.end_poly()

    # 返回最后记录的多边形。

    handForm = turtle.get_poly()

    turtle.register_shape(name, handForm)

 

def Init():

    global secHand, minHand, hurHand, printer

    # 重置Turtle指向北

    turtle.mode("logo")

    # 建立三个表针Turtle并初始化

    mkHand("secHand"135)

    mkHand("minHand"125)

    mkHand("hurHand"90)

    secHand = turtle.Turtle()

    secHand.shape("secHand")

    minHand = turtle.Turtle()

    minHand.shape("minHand")

    hurHand = turtle.Turtle()

    hurHand.shape("hurHand")

   

    for hand in secHand, minHand, hurHand:

        hand.shapesize(113)

        hand.speed(0)

   

    # 建立输出文字Turtle

    printer = turtle.Turtle()

    # 隐藏画笔的turtle形状

    printer.hideturtle()

    printer.penup()

    

def SetupClock(radius):

    # 建立表的外框

    turtle.reset()

    turtle.pensize(7)

    for in range(60):

        Skip(radius)

        if % 5 == 0:

            turtle.forward(20)

            Skip(-radius - 20)

           

            Skip(radius + 20)

            if == 0:

                turtle.write(int(12), align="center", font=("Courier"14"bold"))

            elif == 30:

                Skip(25)

                turtle.write(int(i/5), align="center", font=("Courier"14"bold"))

                Skip(-25)

            elif (i == 25 or == 35):

                Skip(20)

                turtle.write(int(i/5), align="center", font=("Courier"14"bold"))

                Skip(-20)

            else:

                turtle.write(int(i/5), align="center", font=("Courier"14"bold"))

            Skip(-radius - 20)

        else:

            turtle.dot(5)

            Skip(-radius)

        turtle.right(6)

        

def Week(t):  

    week = ["星期一""星期二""星期三",

            "星期四""星期五""星期六""星期日"]

    return week[t.weekday()]

 

def Date(t):

    = t.year

    = t.month

    = t.day

    return "%s %d%d" % (y, m, d)

 

def Tick():

    # 绘制表针的动态显示

    = datetime.today()

    second = t.second + t.microsecond * 0.000001

    minute = t.minute + second / 60.0

    hour = t.hour + minute / 60.0

    secHand.setheading(6 * second)

    minHand.setheading(6 * minute)

    hurHand.setheading(30 * hour)

    

    turtle.tracer(False)

    printer.forward(65)

    printer.write(Week(t), align="center",

                  font=("Courier"14"bold"))

    printer.back(130)

    printer.write(Date(t), align="center",

                  font=("Courier"14"bold"))

    printer.home()

    turtle.tracer(True)

 

    # 100ms后继续调用tick

    turtle.ontimer(Tick, 100)

 

def main():

    # 打开/关闭龟动画,并为更新图纸设置延迟。

    turtle.tracer(False)

    Init()

    SetupClock(160)

    turtle.tracer(True)

    Tick()

    turtle.mainloop()

 

if __name__ == "__main__":

    main()

  

 

python之turtle库学习相关推荐

  1. python之turtle库学习(海龟图形)

    python之turtle库学习 这两天在一个公众号里看到一个文章好玩的库,今天来学习一下.Github地址 一.方法 1.forward() | fd():向前移动指定的距离.参数:一个数字(int ...

  2. Python练习——Turtle库学习记录

    概述: turtle是Python标准库之一,能够进行基本的图形绘制 基本框架: 一个小海龟在坐标系中爬行,其爬行轨迹形成了绘制图形.对于小海龟来说,有"前进"."后退& ...

  3. 《Turtle绘图》Python用Turtle库绘制多啦爱梦、小猪佩奇、皮卡丘等卡通人物

    声明 本文仅在CSDN发布,未经允许请勿转载或引用! 本文链接:https://blog.csdn.net/meenr/article/details/107245170 目录 利用Turtle库绘制 ...

  4. 全国计算机等级考试二级Python精品题库学习笔记1

    全国计算机等级考试二级Python精品题库学习笔记1 精品试卷01 精品试卷01程序题 基本操作题 2:随机验证码 基本操作题 3:比赛成绩计算 Turtle 绘图题:同心圆 简单应用题 2:员工工资 ...

  5. python七段数码管绘制单个数字_使用Python的turtle库实现七段数码管绘制

    七段数码管绘制: 七段数码管是由7段数码管拼接而成,每段有亮或不亮两种情况,改进的七段数码管还包括一个小数点位置. 七段数码管能形成2^7=128种状态,其中部分状态能够显示易于人们理解的数字或字母含 ...

  6. 用python绘制树和森林_使用Python的Turtle库绘制森林的实例

    这是由一个小作业引发的对Python的Turtle库的学习 下面是官方手册: 1.配置编程环境 由于现在的笔记本是临时借的,编程环境不是熟悉的环境,又由于种种原因没有安装成功Anaconda,就尝试了 ...

  7. 通过Python使用turtle库绘制自动伸长变形的丁丁

    通过Python使用turtle库绘制自动伸长变形的丁丁 目录 通过Python使用turtle库绘制自动伸长变形的丁丁 导入库 绘制 结果展示 在我们学习过 turtle这样的第三方库之后,我们总是 ...

  8. 利用Python的turtle库画自行车

    利用Python的turtle库画自行车 前言 前言总得说点什么.疫情在家,慕课上学习北理工嵩天等老师的<python语言程序设计>[1],觉得turtle画图,挺有意思,既然骑不了自行车 ...

  9. python的turtle库的基础函数及其使用

    python的turtle库的基础函数及其使用 博主新建的Python学习QQ群分享一些实用的学习工具和疑问解答以及源码分享欢迎加入:431615454. 基础知识点 本篇文章主要介绍一部分自己喜欢用 ...

最新文章

  1. java arraylist 函数_使用Java-8中的函数ArrayList
  2. android - ADT本地配置、sdk配置
  3. 【MCtalk活动推荐】IM快速搭建即时通讯实战
  4. 编译我的第一个c语言,linux菜鸟学习写第一个C语言代码--“hello Linux!”
  5. HTML中常见问题汇总贴
  6. 15b万用表怎么测电容_指针式万用表和数字式万用表的使用与口诀,值得收藏!...
  7. STM32定时器输出pwm波
  8. C#-Windows计算器
  9. Video.js - HTML5 视频播放器
  10. 计算机控制面板设置密码,如何设置修改电脑的开机密码
  11. 自然语言处理相关:英文词性缩写一览表
  12. python更新excel内容_[原创]使用 Python 读写 Excel 文件(一)更新
  13. 软件测试及Java开发前了解的基础
  14. Mysql的插件下载流程
  15. 商会协会团体网站搭建模板
  16. 数据结构中二叉树的度
  17. 软银巨资收购ARM:这是场天作之合?
  18. UE4性能观察的基础
  19. 个人作业4——alpha阶段个人总结1
  20. 第6章 面向对象的程序设计

热门文章

  1. html5字体修改webview,WebView中修改字体
  2. 文论中利用制表位对公式进行标号
  3. 线程的常见的几种创建方式
  4. 春节相亲想成事? 大数据能帮到你!
  5. 在Visual Basic 中使用C++ 类
  6. 音频格式怎么转换?安利下面这几个方法给你
  7. springboot 支付宝支付(支付宝转账)
  8. 三字歧义链自动分词方法
  9. WORD调用Excel的 文本到语音 功能 让WORD有声朗诵
  10. C习题:利用梯形法计算定积分