【python绘图库turtle的介绍与学习】

在英语中turtle的意思:海龟;(任何种类的)龟;陆龟;水龟;鳖

Turtle库是Python语言中一个很流行的绘制图像的函数库,因此我们可以想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。下面是turtle库的指令集:

利用turtle库画出一个五角星# 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()

效果:

画出一个时钟的程序:# 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()

turtle.mainloop()

效果如图:

python中turtle介绍_python中turtle库的简单介绍相关推荐

  1. python 协程 多线程_python进阶之多线程(简单介绍协程)

    多线程 线程:实现多任务的另一种方式 一个进程中,也经常需要同时做多件事,就需要同时运行多个'子任务',这些子任务,就是线程 线程又被称为轻量级进程(lightweight process),是更小的 ...

  2. python中定义数据结构_Python中的数据结构—简介

    python中定义数据结构 You have multiples algorithms, the steps of which require fetching the smallest value ...

  3. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  4. turtle在python中什么意思_python中关于turtle库的学习笔记

    一.基础概念 1.画布:画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置.常用的画布方法有两个:screensize()和setup(). (1)turtle.screen ...

  5. python海龟绘图颜色_python中利用turtle(海龟)绘图制作龟兔赛跑动画——仅供学习...

    python中利用turtle(海龟)绘图制作龟兔赛跑动画--仅供学习哦 首先,欢迎大家来我的博客当中浏览,由于我和我的可爱现在还都个初学者,所作的东西还不够完善,之前在学习计算机的各种语言的过程中, ...

  6. python turtle用法_Python初学者Turtle库简介

    Python是一种基于文本的编程语言.为了使中小学生掌握这种语言,Turtle库(Turtle Library)是一个很好的起点.Turtle库是可用于创建插图和游戏的命令的集合. 什么是Python ...

  7. python url模块介绍_python 中 urlparse 模块介绍

    urlparse模块主要是用于解析url中的参数  对url按照一定格式进行 拆分或拼接 1.urlparse.urlparse 将url分为6个部分,返回一个包含6个字符串项目的元组:协议.位置.路 ...

  8. python logging打印终端_python中那些小众但有用的自带标准库

    ====== 欢迎关注我的公众号:早起python 一起学python ======= 今天带来的是python里一些小众但是却比较实用的标准库,一起来看看吧! pprint:更清晰的打印 pprin ...

  9. python导入excel类库_Python中使用第三方库xlutils来追加写入Excel文件示例

    Python中使用第三方库xlutils来追加写入Excel文件示例 目前还没有更好的方法来追写Excel,lorinnn在网上搜索到以及之后用到的方法就是使用第三方库xlutils来实现了这个功能, ...

最新文章

  1. LeetCode实战:字符串转换整数 (atoi)
  2. 【学习笔记】25、关系数据库存储
  3. 应届算法岗,选择巨头还是AI明星创业公司
  4. C语言实现简单而通用的字典算法(附完整源码)
  5. Structure of a Task
  6. delphi 停电文本数据丢失_河南照片数据恢复怎么联系
  7. 如何决定何时使用Node.js?
  8. Python安装pycryptodome密码库
  9. 学习了Python大数据之后,将来主要做什么
  10. c语言编译器手机版显示错误,C语言编译器的错误信息
  11. directxsdk 下载地址
  12. win10升级助手_不想使用一键重装软件?微软win10升级助手来了
  13. android 视频做背景图片,视频后面怎么加背景图片?安卓手机给视频添加背景图片的方法...
  14. Redis源码学习(13),t_set.c 学习(一),sadd,srem 命令学习
  15. SAP ITS Mobile 系统实例(一)
  16. 政策重大升级、成立最强行业联盟,上海要做长三角区块链产业发展领头羊?...
  17. 工业级环网交换机是什么呢?它又有什么作用
  18. 浅谈php国际(I18N)以及config包的使用
  19. 打印机CCC认证费用、周期
  20. 量化评价和质化评价举例_量化评价与质性评价的特点和联系

热门文章

  1. 《大数据》多名编委当选CCF第十二届理事会成员!
  2. 《大数据》2015年第3期“研究”——大数据流式计算:应用特征和技术挑战
  3. 移动应用开发——作业3
  4. 【Servlet】Servlet体系结构
  5. 【数字逻辑设计】Logisim构建锁存器/触发器
  6. 【Navicat】查看1000行以后的内容
  7. 填涂颜色(洛谷P1162题题解,Java语言描述)
  8. 【C语言】通过原子操作实现加减乘除操作Ⅱ
  9. SQL点滴9—使用with语句来写一个稍微复杂sql语句
  10. 模块开发者使用 ES Modules 的正确姿势