pythonturtle是标准库_Python中turtle库的使用
版权声明:本文为博主原创文章,遵循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库的使用相关推荐
- python中的turtle如何运行_python中turtle库的简单使用教程
python的turtle库的简单使用 Python的turtle库是一个直观有趣的图形绘制函数库,是python的标准库之一. 一.绘图坐标体系 turtle库绘制图形的基本框架:通过一个小海龟在坐 ...
- python中turtle介绍_python中turtle库的简单介绍
[python绘图库turtle的介绍与学习] 在英语中turtle的意思:海龟;(任何种类的)龟;陆龟;水龟;鳖 Turtle库是Python语言中一个很流行的绘制图像的函数库,因此我们可以想象一个 ...
- python代码turtle是什么意思_python中turtle库中的Turtle()是什么,有什么用?
Python的turtle库是一个直观有趣的图形绘制函数库 也是python的标准库之一 下面是我总结的一些turtle库总结 1.画布: (1) turtle.screensize(宽,高,背景颜色 ...
- python类似turtle的库_Python之Turtle库与Time库知识分享
以下均为干货,更多知识视觉享受请移步微信公众号: 子奇的小屋 认识turtle库: turtle库是turtle绘图体系的Python实现,是标准库之一 标准库:随解释器操作系统中的模块直接安装到解 ...
- python time库_python中time库的实例使用方法
python中time库的实例使用方法 time是python中处理时间的标准库 计算机时间的表达 提供获取系统时间并格式化输出功能 提供系统级精确计时功能,用于程序性能分析 用法:import ti ...
- python怎么用第三方库_python中第三方库的下载方法
1.最常用:在命令行中输入 pip install "库名称" 例如 pip install gensim 查看pip的命令集: pip uninstall "库名& ...
- python turtle库有什么用_Python中turtle库的使用
import用法: 1)import .() 2)fromimport fromimport * () 3)import as (自己定义库别名) .() 第一种方法不会出现函数重名问题,第二种会出现 ...
- python turtle库在哪里_Python中turtle库的使用
1.画布 turtle.setup(650,350,200,200) 前两个参数用于说明画布的大小,后两个参数说明窗体的位置 2.画笔设置 语句 用法 turtle.pensize() 用于设置画笔大 ...
- python turtle库下载_Python中turtle库的使用
1.画布 turtle.setup(650,350,200,200) 前两个参数用于说明画布的大小,后两个参数说明窗体的位置 2.画笔设置 语句 用法 turtle.pensize() 用于设置画笔大 ...
最新文章
- SQL 2005 删除带有默认值约束的列
- 15crmo焊接后多长时间探伤_15CrMo十五铬钼属于合金钢?、下面来解释一下
- .NET中栈和堆的比较 #1
- 聚类时需要标准化吗_打球时意外受伤,同伴需要担责吗?
- php中this的含义
- python多线程爬取斗图啦数据
- linux笔记-硬链接和符号链接
- 光纤收发器的原理及应用_基于砷化镓传感器的光纤测温原理及其在地铁中的应用...
- 鱼c工作室小甲鱼的水平_历历万乡 | 得两代帝王喜爱,又上过国际舞台!深冬就去浙个“年鱼福气”加持的小村子吧!...
- 安装linux镜像文件
- 概率论与计算机的关系小论文,概率论与数理统计论文
- 用python的requests模块爬取上海地区链家二手房数据
- 赛事+内容IP齐发力,汽车之家打破Z世代次元壁
- ps怎么抠地图线路_怎样在PS里画地图的边界线?
- Deepin15.3 安装firefox flash插件
- linux系统编译时make出错,centos 编译安装cmake和常见过程错误解决办法(linux系统均适用,以爬坑。。)...
- 阿里面试官:“你有高并发经验吗?”
- R语言-岭回归的代码与案例解读
- Windows 7 插入耳机后没声音,拔下后扬声器有声音
- C++中的枚举(enum)
热门文章
- Comparison of long-read sequencing technologies in the hybrid assembly of complex bacterial genomes
- PacBio单分子长测序
- 数字图像处理笔记一 - 图像采集(空间分辨率和幅度分辨率)
- mysql anyvalue报错_Mysql 的ANY_VALUE()函数和 ONLY_FULL_GROUP_BY 模式
- python 随机生成密码
- 【pytorch】torch.nn.functional.pad的使用
- oracle创建 number,oracle创建表的方法和一些常用命令
- java 多线程bean 注入_java多线程中注入Spring对象问题
- java 打开服务器excel文件_Java中上传excel文件并在服务器端读取存入数据库
- python 语音websocket_Python 牺牲性能以提升程序员的工作效率