python之turtle库学习

Python-Turtle库-从入门到精通 欢迎关注Wechat公众号:Pytrick,一个致力于分享和传播与Python主题相关的实用技巧、技术文章、学习路线、工具资源、图文教程的交流者社区,专注人工智能、科学计算、游戏开发等领域。 阅读详情

一。方法

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(1, 1, 3)

        hand.speed(0)

    

    # 建立输出文字Turtle

    printer = turtle.Turtle()

    # 隐藏画笔的turtle形状

    printer.hideturtle()

    printer.penup()

     

def SetupClock(radius):

    # 建立表的外框

    turtle.reset()

    turtle.pensize(7)

    for i in range(60):

        Skip(radius)

        if i % 5 == 0:

            turtle.forward(20)

            Skip(-radius - 20)

            

            Skip(radius + 20)

            if i == 0:

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

            elif i == 30:

                Skip(25)

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

                Skip(-25)

            elif (i == 25 or i == 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):

    y = t.year

    m = t.month

    d = t.day

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

  

def Tick():

    # 绘制表针的动态显示

    t = 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库 Python真是太火了,最近我也入了Python的坑,开始自学Python 在学习Python的过程中,如果需要用到绘图工具,那么就需要使用到Python的turtle库,turtle库是Python中一个很流行的绘图函数库,主要是依据坐标轴来绘制图像,画笔则是一只小海龟,通过控制海龟的在坐标平面的移动,从而绘制各种各样的图像。 Turtle最早来自于LOGO语言,是专门用于小孩子学习编程的,通过... 阅读详情

相关推荐

【学习笔记】Python二级考试04 turtle库的使用

题目 使用turtle库的turtle. right()函数和turtle.fd()函数绘制一个菱形,边长为200像素,4个内角度数为2个60度和2个120度,效果如图所示。 原代码 import turtle turtle.right(-30) ___(1)___ turtle.right(60) turtle.fd(200) ___(2)___ turtle.fd(200) turtle.right(60) turtle.fd(200) turtle.right(120) 必要函数及其功能

m0_52432774的博客 4719

Python Turtle库详解

Python 第三方库 Turtle 进行绘图

知命不惧,日日自新。 3万+

Python学习17 Turtle库绘图

学习网址:https://docs.python.org/zh-cn/3/library/turtle.html Turtle库 Turtle库是Python语言中一个很流行的绘制图像的函数库,一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点(画布中心),(0,0)位置开始移动,从而在它爬行的路径上绘制了图形 Turtle-窗口 turtle.setup(width=0.5, height=0.75, startx=None, starty=None)用于设置窗口的大小和位置 参数:width, heigh

qq_coding的博客 943

Python——turtle库(海龟绘图)介绍与使用

在 Python 中,海龟绘图提供了一个实体“海龟”形象(带有画笔的小机器动物),假定它在地板上平铺的纸张上画线。

Smile的博客 4万+

通俗解析:霍尔编码器、光电编码器、电位计、磁编码器和旋转变压器的实战选型指南

本文深入解析了霍尔编码器、光电编码器、电位计、磁编码器和旋转变压器五大主流编码器的工作原理与核心特性。通过对比精度、环境耐受性、成本及寿命等关键维度,并结合消费电子、工业自动化、汽车电子及极端环境等典型应用场景,提供了一份清晰的实战选型指南,旨在帮助工程师根据具体需求,在性能、可靠性与成本间做出最优决策。

weixin_29216353的博客 254

Silvaco Atlas新手入门:从安装到第一个半导体器件仿真(附DeckBuild配置)

本文为Silvaco Atlas新手提供了一份从软件安装、DeckBuild环境配置到完成第一个半导体器件仿真的实战指南。通过构建一个经典的PN结二极管案例,详细讲解了Atlas仿真语句的语法、核心命令顺序以及结果调试与可视化方法,帮助初学者快速上手并理解TCAD仿真流程。

sql99的博客 332

python学习——turtle

python学习

m0_55818687的博客 3621

OpenMythos深度解析

本文深入解析了kyegomez/OpenMythos项目如何从第一性原理重建Claude Mythos的核心架构。该项目并非直接复制Claude,而是基于公开论文和实验结果推测其可能的设计理念,构建了包含多模态注意力、深度推理引擎、知识检索模块等六大核心组件的模块化架构。重点剖析了分组查询注意力(GQA)的实现细节,展示了KV头扩展等关键技术。该项目已成为大模型开源社区最受关注的研究之一,为理解Claude的架构思想提供了有价值的参考。

Crown_22的博客 518

python中turtle介绍_python中turtle库的简单介绍

【python绘图库turtle的介绍与学习】在英语中turtle的意思:海龟;(任何种类的)龟;陆龟;水龟;鳖Turtle库是Python语言中一个很流行的绘制图像的函数库,因此我们可以想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。下面是turtle库的指令集:利用turtle库画出一个...

weixin_39614109的博客 3546

2024高项范文-论项目成本管理

例如,在需求分析和设计阶段,安排了较多经验丰富的人员,确保基础工作的高质量完成,同时也避免了后续因需求变更等问题导致的时间和成本浪费。虽然项目进度略有延迟,但通过有效的成本管理和调整,最终在可控的成本范围内完成了项目,并且软件的质量也得到了保障。通过这个案例可以看出,在项目成本管理过程中,要紧密结合时间管理,根据实际情况灵活调整策略,注重风险的防范和应对,才能实现时间和成本的平衡,确保项目的成功。资源规划是成本基准形成的基础。识别和评估项目中的成本风险,并制定相应的应对措施,以降低风险对项目成本的影响。

xjflion的博客 1188

MOS管关断时尖峰电压的5种实用抑制方案(附实测数据对比)

本文针对MOS管关断时产生的尖峰电压问题,提供了五种经过实验室实测验证的实用抑制方案。文章从尖峰电压的成因分析入手,详细阐述了优化PCB布局、设计RC缓冲电路、选用TVS二极管钳位、调节驱动电路以及使用磁珠吸收高频振荡等方法的原理、实施步骤与实测数据对比,为硬件工程师解决开关电源和电机驱动中的过压应力与EMI问题提供了系统性的实战指南。

1239

[ Python学习笔记 ] turtle库的使用 ( 1 )

王八画画

C_JerryMain的博客 2151

时间序列—显著相关性和滞后性分析_python

本文讲述了两个时间序列(信号)的相关性分析,可以利用相关性分析进行特征筛选。此外本文还讲了怎么判断时间序列的滞后性的方法。

qq_34229228的博客 2万+

python的turtle库认识和学习(1)

1.turtle库 官方网站:http://pythonturtle.org 官网介绍:A learning environment for Python programming suitable for beginners and children, inspired by Logo. 受Logo启发的适合初学者和儿童的Python编程学习环境。 2.代码实例介绍 2.1螺旋线绘制 2.1.1代...

易三一世 1908

VisionPro 机器视觉案例 之 彩色保险丝个数统计

CogColorSegmenterTool CogColorMatchTool

机器视觉李小白的博客 2352

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

python turtle库的使用学习

turtle库的使用学习 import turtle turtle.setup(650, 350,)#设置画布大小 turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor("red") turtle.seth(-40) for i in range(4): turtle.circl...

lay的博客 441

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

python学习:turtle库

wqewewew

Cracker's Blog 522

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Python练习——Turtle库学习记录

1

小元砸的博客 2258

Python Turtle(海龟)库学习

转自中国大学MOOC: Python语言程序设计 国家精品 嵩天、黄天羽、礼欣 1.turtle库概述 turtle(海龟)库是turtle绘图体系的Python实现 turtle绘图体系:1969年诞生,主要用于程序设计入门 Python语言的标准库之一 入门级的图形绘制函数库 2.标准库 Python计算生态=标准库+第三方库 标准库:随解释器直接安装到操作系统中的功能模块 第三方库:需要经过...

u013673437的博客 2513

python中turtle库_【Python学习】Turtle库的学习

概述turtle是海龟库。入门级的函数绘制库。是Python语言的标准库之一【知识点】标准库Python的库分为标准库和第三方库标准库:随解释器直接安装到操作系统中的功能模块第三方库:需要经过安装才能使用的功能模块。库Library 、 包Package、模块Modole,统称为模块。原理turtle其实就是抽象了海龟的这一概念,在画布的正中心,有一只海龟,它受程序控制、四处游走,还能更改“海龟”...

weixin_39827506的博客 288

python turtle库seth_python学习篇,turtle库

什么是turtle库?turtle库是python的标准库之一。是python的基础绘图库。简单来说,turtle库也就用来做基本图形绘制用的,turtle又有海龟的意思也被称为‘海龟’库。既然学习turtle库,那么就要知道turtle库的用法能干嘛?先看看用turtle库做出来的图形吧?如何使用turtle库?1)设置画布大小turtle.函数说明turtle.screensize(canvw...

weixin_36289211的博客 6302

Python学习日记之学习turtle库(上 篇)

库是 Python 语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横 轴为 x、纵轴为 y 的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面 坐标系中移动,从而在它爬行的路径上绘制了图形。import turtle 或 from turtle import *在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝。默认状态下小小乌龟初始位置为画布的中心,也即原点,绝对坐标为(0,0)。库为我们展开用于绘图区域,我们可以设置画布的大小。库常用函数用法描述。

Isaiah_Cohen的博客 1967

Python学习之turtle库

turtle的画笔可以想象成一个海龟(这也是turtle模块名字的由来)。turtle(海龟)是Python内置的一个标准模块(库),它提供了绘制线、圆和其他形状的函数,使用该模块可以创建图形窗口,在图形窗口中通过简答重复的动作直观地绘制界面和图形。turtle的使用主要分为创建窗口设置画笔和绘制图形(移动画笔)3个方面。import turtle import turtle as t #这两种方式都可以,后者是将turtle简化,使用起来更加方便。

fsLees的博客 2648

python计算生态笔记_PYTHON学习笔记(2)——turtle库

本次学习原内容均来自MOOC国家精品课程《Python程序语言设计》嵩天继上次发出的问题“今天python了吗?”写的第一篇回答,以后就在这里记录笔记啦~turtle库介绍1、一些概念turtle是入门的绘制图形库,是python的标准库之一。Python的计算生态包括了标准库+第三方库。标准库:随解释器直接安装到操作系统中的功能模块。第三方库:需要经过安装才能使用的功能模块。(后面文章会提及如何...

weixin_42525211的博客 191

python中turtle画圆填充颜色_Python学习笔记 Part02--turtle库初使用

库引用库Library,包Package,模块Module,统称为模块库引用import 库名称 as 别名或者只引用函数名称 from <库名> import <函数名>turtle绘图窗体turtle.setup(200,200,0,0)(长,宽,起点位置)turtle画笔控制函数turtle.penup() turtle.pu() --抬起画笔turtle.pen...

weixin_28965077的博客 1969
上一篇: UnicodeEncodeError: 'locale' codec can't encode character '\u5e74' in position 2: encoding error
下一篇: 如何根据字典中值的大小,对字典中的项排序
mingming20547
博客等级 码龄17年 80粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值