版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

Turtle图形库

Turtle库是Python内置的图形化模块,属于标准库之一,位于Python安装目录的lib文件夹下,常用函数有以下几种:画笔控制函数

penup():抬起画笔;

pendown():落下画笔;

pensize(width):画笔宽度;

pencolor(color):画笔颜色;

运动控制函数

forward(d)/fd(d):直行d个像素;

circle(r, extent = None):绘制半径为r,角度为extent的弧形,圆心默认在海龟左侧距离r的位置;

方向控制函数

setheading(angle)/seth(angle):改变前进方向;

left(angle):海龟左转;

right(angle):海龟右转;

Turtle库的使用#coding=utf-8

#绘制蟒蛇

import turtle

turtle.penup()

turtle.pencolor("red")

turtle.forward(-250)

turtle.pendown()

turtle.pensize(10)

turtle.right(45)

for i in range(4):

turtle.circle(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()

结果#coding=utf-8

# 绘制五角星

import turtle

turtle.pensize(5)

turtle.pencolor("red")

turtle.forward(200)

for i in range(4):

turtle.right(144)

turtle.fd(200)

turtle.done()

结果#绘制时钟

# coding=utf-8

import turtle as tt

from datetime import *

# 当前日期属于一周的第几天

def Week(t):

week = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]

return week[t.weekday()]

# 获取当前时间

def Date(t):

y = t.year

m = t.month

d = t.day

cur_hour = t.hour;

cur_min = t.minute;

cur_sec = t.second;

return "%s-%d-%d %d:%02d:%02d" % (y, m, d, cur_hour, cur_min, cur_sec)

# 移动画笔,距离为distance

def movePen(distance):

tt.penup()

tt.pensize(5)

tt.pencolor("blue")

tt.fd(distance)

tt.pendown()

# 绘制表针

def makeHands(name, length):

# 清空窗口,重置turtule状态为初始状态

tt.reset()

movePen(-length * 0.1)

# 开始记录多边形的顶点

tt.begin_poly()

tt.fd(length * 1.1)

# 停止记录多边形的顶点

tt.end_poly()

# 返回记录的多边形

handForm = tt.get_poly()

tt.register_shape(name, handForm)

# 初始化

def initial():

global secHand, minHand, hurHand, printer

# 重置方向向北(上),正角度为顺时针

tt.mode("logo")

# 建立并初始化表针

makeHands("secHand", 180)

makeHands("minHand", 150)

makeHands("hurHand", 110)

secHand = tt.Turtle()

secHand.shape("secHand")

minHand = tt.Turtle()

minHand.shape("minHand")

hurHand = tt.Turtle()

hurHand.shape("hurHand")

for hand in secHand, minHand, hurHand:

hand.shapesize(1, 1, 4)

hand.speed(0)

# 输出文字

printer = tt.Turtle()

# 隐藏画笔

printer.hideturtle()

printer.penup()

# 绘制表盘外框

def drawClock(R):

# 清空窗口,重置turtule状态为初始状态

tt.reset()

# 画笔尺寸

tt.pensize(5)

for i in range(60):

movePen(R)

if i % 5 == 0:

tt.fd(20)

movePen(-R - 20)

movePen(R + 20)

if i == 0:

# 写文本

tt.write(int(12), align="center", font=("Consolas", 14, "bold"))

elif i == 30:

movePen(25)

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

movePen(-25)

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

movePen(20)

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

movePen(-20)

else:

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

movePen(-R - 20)

else:

# 绘制指定半径和颜色的点

tt.dot(5, "red")

movePen(-R)

tt.right(6)

# 表针的动态显示

def handsMove():

t = datetime.today()

second = t.second + t.microsecond * 0.000001

minute = t.minute + second / 60.0

hour = t.hour + minute / 60.0

secHand.seth(6 * second)

minHand.seth(6 * minute)

hurHand.seth(30 * hour)

tt.tracer(False)

printer.fd(65)

tt.pencolor("green")

printer.write(Week(t), align="center", font = ("黑体", 14))

printer.back(130)

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

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

printer.home()

tt.tracer(True)

# 经过100ms后继续调用handsMove函数

tt.ontimer(handsMove, 100)

# 调用定义的函数,打开和关闭动画,为更新图纸设置延迟;

tt.tracer(False)

initial()

drawClock(200)

tt.tracer(True)

handsMove()

tt.mainloop()

结果

pythonturtle是标准库_Python中turtle库的使用相关推荐

  1. python中的turtle如何运行_python中turtle库的简单使用教程

    python的turtle库的简单使用 Python的turtle库是一个直观有趣的图形绘制函数库,是python的标准库之一. 一.绘图坐标体系 turtle库绘制图形的基本框架:通过一个小海龟在坐 ...

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

    [python绘图库turtle的介绍与学习] 在英语中turtle的意思:海龟;(任何种类的)龟;陆龟;水龟;鳖 Turtle库是Python语言中一个很流行的绘制图像的函数库,因此我们可以想象一个 ...

  3. python代码turtle是什么意思_python中turtle库中的Turtle()是什么,有什么用?

    Python的turtle库是一个直观有趣的图形绘制函数库 也是python的标准库之一 下面是我总结的一些turtle库总结 1.画布: (1) turtle.screensize(宽,高,背景颜色 ...

  4. python类似turtle的库_Python之Turtle库与Time库知识分享

    以下均为干货,更多知识视觉享受请移步微信公众号:  子奇的小屋 认识turtle库: turtle库是turtle绘图体系的Python实现,是标准库之一 标准库:随解释器操作系统中的模块直接安装到解 ...

  5. python time库_python中time库的实例使用方法

    python中time库的实例使用方法 time是python中处理时间的标准库 计算机时间的表达 提供获取系统时间并格式化输出功能 提供系统级精确计时功能,用于程序性能分析 用法:import ti ...

  6. python怎么用第三方库_python中第三方库的下载方法

    1.最常用:在命令行中输入  pip install "库名称"  例如 pip install gensim 查看pip的命令集: pip uninstall "库名& ...

  7. python turtle库有什么用_Python中turtle库的使用

    import用法: 1)import .() 2)fromimport fromimport * () 3)import as (自己定义库别名) .() 第一种方法不会出现函数重名问题,第二种会出现 ...

  8. python turtle库在哪里_Python中turtle库的使用

    1.画布 turtle.setup(650,350,200,200) 前两个参数用于说明画布的大小,后两个参数说明窗体的位置 2.画笔设置 语句 用法 turtle.pensize() 用于设置画笔大 ...

  9. python turtle库下载_Python中turtle库的使用

    1.画布 turtle.setup(650,350,200,200) 前两个参数用于说明画布的大小,后两个参数说明窗体的位置 2.画笔设置 语句 用法 turtle.pensize() 用于设置画笔大 ...

最新文章

  1. SQL 2005 删除带有默认值约束的列
  2. 15crmo焊接后多长时间探伤_15CrMo十五铬钼属于合金钢?、下面来解释一下
  3. .NET中栈和堆的比较 #1
  4. 聚类时需要标准化吗_打球时意外受伤,同伴需要担责吗?
  5. php中this的含义
  6. python多线程爬取斗图啦数据
  7. linux笔记-硬链接和符号链接
  8. 光纤收发器的原理及应用_基于砷化镓传感器的光纤测温原理及其在地铁中的应用...
  9. 鱼c工作室小甲鱼的水平_历历万乡 | 得两代帝王喜爱,又上过国际舞台!深冬就去浙个“年鱼福气”加持的小村子吧!...
  10. 安装linux镜像文件
  11. 概率论与计算机的关系小论文,概率论与数理统计论文
  12. 用python的requests模块爬取上海地区链家二手房数据
  13. 赛事+内容IP齐发力,汽车之家打破Z世代次元壁
  14. ps怎么抠地图线路_怎样在PS里画地图的边界线?
  15. Deepin15.3 安装firefox flash插件
  16. linux系统编译时make出错,centos 编译安装cmake和常见过程错误解决办法(linux系统均适用,以爬坑。。)...
  17. 阿里面试官:“你有高并发经验吗?”
  18. R语言-岭回归的代码与案例解读
  19. Windows 7 插入耳机后没声音,拔下后扬声器有声音
  20. C++中的枚举(enum)

热门文章

  1. Comparison of long-read sequencing technologies in the hybrid assembly of complex bacterial genomes
  2. PacBio单分子长测序
  3. 数字图像处理笔记一 - 图像采集(空间分辨率和幅度分辨率)
  4. mysql anyvalue报错_Mysql 的ANY_VALUE()函数和 ONLY_FULL_GROUP_BY 模式
  5. python 随机生成密码
  6. 【pytorch】torch.nn.functional.pad的使用
  7. oracle创建 number,oracle创建表的方法和一些常用命令
  8. java 多线程bean 注入_java多线程中注入Spring对象问题
  9. java 打开服务器excel文件_Java中上传excel文件并在服务器端读取存入数据库
  10. python 语音websocket_Python 牺牲性能以提升程序员的工作效率