Python标准库〖 turtle 〗
Python标准库〖 turtle 〗
- 1. 简介
- 2. 基础知识
- 2.1 画布(canvas)
- 2.2 画笔
- 2.2.1 画笔的状态
- 2.2.2 画笔的属性
- 2.2.3 绘图命令
- 2.2.3.1 运行命令
- 2.2.3.2 控制命令
- 2.2.3.3 全局控制命令
- 2.2.3.4 其它命令
- 3. 命令详解
- 3. 常见案例
1. 简介
Turtle
库是Python语言中一个很流行的绘制图像
的函数库,想象一个动物,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
2. 基础知识
2.1 画布(canvas)
画布就是turtle为我们展开用于绘图区域,我们可以设置它的
大小
和初始位置
。
turtle.screensize() #返回默认大小(400, 300)
命令 | 说明 | 案例 |
---|---|---|
turtle.screensize(canvwidth=None, canvheight=None, bg=None)
|
设置画布大小, 参数分别为画布的宽(单位像素), 高, 背景颜色。 | turtle.screensize(800,600, “green”) |
turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
|
参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,(startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心。 | turtle.setup(width=0.6,height=0.6), turtle.setup(width=800,height=800, startx=100, starty=100) |
2.2 画笔
2.2.1 画笔的状态
在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小兔子。这里我们描述小兔子时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小兔子(画笔)的状态。
2.2.2 画笔的属性
画笔(画笔的属性,颜色、画线的宽度等)
turtle.pensize()
:设置画笔的宽度
;turtle.pencolor()
:没有参数传入,返回当前画笔颜色
,传入参数设置画笔颜色,可以是字符串如"green", “red”,也可以是RGB 3元组。turtle.speed(speed)
:设置画笔移动速度
,画笔绘制的速度范围[0,10]整数,数字越大越快。
2.2.3 绘图命令
操纵兔子绘图有着许多的命令,这些命令可以划分为3种:一种为
运动命令
,一种为画笔控制命令
,还有一种是全局控制命令
。
2.2.3.1 运行命令
命令 | 说明 |
---|---|
turtle.forward(distance)
|
向当前画笔方向移动distance像素长度 |
turtle.backward(distance)
|
向当前画笔相反方向移动distance像素长度 |
turtle.right(degree)
|
顺时针移动degree° |
turtle.left(degree)
|
逆时针移动degree° |
turtle.pendown()
|
移动时绘制图形,缺省时也为绘制 |
turtle.goto(x,y)
|
将画笔移动到坐标为x,y的位置 |
turtle.penup()
|
提起笔移动,不绘制图形,用于另起一个地方绘制 |
turtle.circle()
|
画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆 |
setx( )
|
将当前x轴移动到指定位置 |
sety( )
|
将当前y轴移动到指定位置 |
setheading(angle)
|
设置当前朝向为angle角度 |
home()
|
设置当前画笔位置为原点,朝向东。 |
dot(d)
|
绘制一个指定直径和颜色的圆点 |
2.2.3.2 控制命令
命令 | 说明 |
---|---|
turtle.fillcolor(colorstring)
|
绘制图形的填充颜色 |
turtle.color(color1, color2)
|
同时设置pencolor=color1, fillcolor=color2 |
turtle.filling()
|
返回当前是否在填充状态 |
turtle.begin_fill()
|
准备开始填充图形 |
turtle.end_fill()
|
填充完成 |
turtle.hideturtle()
|
隐藏画笔的turtle形状 |
turtle.showturtle()
|
显示画笔的turtle形状 |
2.2.3.3 全局控制命令
命令 | 说明 |
---|---|
turtle.clear()
|
清空turtle窗口,但是turtle的位置和状态不会改变 |
turtle.reset()
|
清空窗口,重置turtle状态为起始状态 |
turtle.undo()
|
撤销上一个turtle动作 |
turtle.isvisible()
|
返回当前turtle是否可见 |
stamp()
|
复制当前图形 |
turtle.write(s [,font=("font-name",font_size,"font_type")])
|
写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项 |
2.2.3.4 其它命令
命令 | 说明 |
---|---|
turtle.mainloop() 或turtle.done()
|
启动事件循环 -调用Tkinter的mainloop函数。必须是兔子图形程序中的最后一个语句。 |
turtle.mode(mode=None)
|
设置兔子模式(“standard”,“logo”或“world”)并执行重置。如果没有给出模式,则返回当前模式。 |
turtle.delay(delay=None)
|
设置或返回以毫秒为单位的绘图延迟。 |
turtle.begin_poly()
|
开始记录多边形的顶点。当前的兔子位置是多边形的第一个顶点。 |
turtle.end_poly()
|
停止记录多边形的顶点。当前的兔子位置是多边形的最后一个顶点。将与第一个顶点相连. |
turtle.get_poly()
|
返回最后记录的多边形。 |
3. 命令详解
turtle.circle(radius, extent=None, steps=None)
描述:以给定半径画圆参数:radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆;extent(弧度) (optional);steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)。
举例:
circle(50) # 整圆;circle(50,steps=3) # 三角形;circle(120, 180) # 半圆
3. 常见案例
参照代码模板完善代码,实现下述功能,不得修改其它代码。使用 turtle 库的 turtle.circle() 函数和 turtle.seth() 函数绘制同心圆套圈,最小的圆圈半径为 10 像素,不同圆圈之间的半径差是 40 像素,效果如下图所示。
import turtler = 10 dr = 40 head = 90 for i in range (4):# 放下画笔, 绘制图形turtle.pendown()# 画r为半径的圆形turtle.circle(r) r += dr# 抬起画笔,不绘制图形turtle.penup()# 顺时针旋转90度: turtle.right(head) / turtle.seth(-head)turtle.right(head) / turtle.seth(-head) # 移动40个像素点: turtle.forward(dr) / turtle.fd(dr)turtle.forward(dr) # 逆时针旋转90度: turtle.left(head) / turtle.seth(0)turtle.left(head)turtle.done()
五角星
import turtleturtle.pensize(5) # 设置画笔大小 turtle.pencolor("yellow") # 设置画笔颜色 turtle.fillcolor("red") # 设置填充颜色turtle.begin_fill() # 开始填充 for i in range(5):turtle.forward(200) # 移动200个像素点turtle.right(144) # 顺时针旋转144度 turtle.end_fill() # 结束填充turtle.mainloop()
太极
import turtleturtle.pensize(1) turtle.pencolor("black")R = 100 color = {-1: 'white', 1: 'black'}for c in [-1, 1]:# 获取填充颜色turtle.fillcolor(color.get(c))# 开始填充颜色turtle.begin_fill()# 鲜花一半的轮廓turtle.circle(R / 2, 180)turtle.circle(R, 180)turtle.circle(R / 2, -180)# 结束填充颜色turtle.end_fill()# 抬起画笔turtle.penup()# 移动画笔到坐标(0, -(R / 3 * c))的位置turtle.goto(0, -(R / 3 * c))# 放下画笔turtle.pendown()# 获取填充颜色turtle.fillcolor(color.get(-c))# 准备填充turtle.begin_fill()# 画圆turtle.circle(-R / 6, 360)# 结束填充turtle.end_fill()# 抬起画笔turtle.penup()# 将画笔移动的坐标(0, 0)的坐标turtle.goto(0, 0)# 放下画笔turtle.pendown()turtle.done()
奥运五环
import turtlep = turtle p.pensize(3) p.color("blue") p.circle(30, 360) p.pu() p.goto(60, 0) p.pd() p.color("black") p.circle(30, 360) p.pu() p.goto(120, 0) p.pd() p.color("red") p.circle(30, 360) p.pu() p.goto(90, -30) p.pd() p.color("green") p.circle(30, 360) p.pu() p.goto(30, -30) p.pd() p.color("yellow") p.circle(30, 360) p.done()
使用turtle 库的turtle.fd()函数和turtle.left()函数绘制一个边长为200像素的正方形及一个紧挨四个顶点的圆形,写入代码替换模板中的横线,不得修改其他代码,效果如图
import turtleturtle.pensize(2) #设置画笔大小# 画正方形 for i in range(4):turtle.fd(200)turtle.left(90) # 画圆 turtle.left(-45) turtle.circle(100*pow(2, 0.5))turtle.done()
Python标准库〖 turtle 〗相关推荐
- 用Python标准库turtle画一只老虎,祝您新年虎虎生威,大吉大利
用Python标准库turtle画一只老虎,祝您新年虎虎生威,大吉大利! 虎年到了,祝大家新年虎虎生威!大吉大利! 去年我用Python画了一头金牛,参考:https://blog.csdn.net/ ...
- 用Python标准库turtle画一头金牛,祝您新年牛气冲天!
用Python标准库turtle画一头金牛,祝您新年牛气冲天! 今年是牛年,祝大家新年牛气冲天!嗨皮牛Year! 前几天在百度图片里下载了一张金牛的图片,就是上面的这张.想着用Python标准库tur ...
- 用Python标准库turtle画一头金牛,祝您新年牛气冲天!(附源码)
今年是牛年,祝大家新年牛气冲天!嗨皮牛Year! 前几天在百度图片里下载了一张金牛的图片,就是封面的这张.想着用Python标准库turtle肯定可以画出这张图,所以说干就干,花两天时间实现了. 画图 ...
- 用Python标准库turtle画一只老虎,祝您新年虎虎生威,大吉大利!
大家好,我是辰哥~ 点击下方名片关注和星标『Python研究者』!
- Python标准库:turtle库的简单快速入门
在计算机二级Python的计算生态(其实也就是库)考察中,可以分为两大类:标准库和第三方库. 而标准库中明确要求掌握的就是turtle库和random库,第三方库大都是掌握其在各个常用领域的一些主流库 ...
- Python标准库介绍
1. 关于Python标准库 众所周知,Python是一个依赖强大的组件库完成对应功能的语言,为了便捷实现各项功能,前辈大牛们打造了多种多样的工具库公开提供给大众使用,而越来越多的库已经因为使用的广泛 ...
- python语言程序设计 梁勇_计算机二级教程 Python语言程序设计,第9章Python标准库概览...
第九章学习知识导图 考点主要是: 1) 标准库: turtle库(必选) 2) 标准库: random库(必选).time库(可选) 3) 作者归纳:这章考大题和选择题的读程序题,本章结束,pytho ...
- 转--Python标准库之一句话概括
作者原文链接 想掌握Python标准库,读它的官方文档很重要.本文并非此文档的复制版,而是对每一个库的一句话概括以及它的主要函数,由此用什么库心里就会有数了. 文本处理 string: 提供了字符集: ...
- python标准库random中函数的作用_Python随机函数库random的使用方法详解
Python随机函数库random的使用方法详解 前言 众所周知,python拥有丰富的内置库,还支持众多的第三方库,被称为胶水语言,随机函数库random,就是python自带的标准库,他的用法极为 ...
最新文章
- HR与HRBP的区别
- 无密码进去mysql_技术分享 | 安全地无密码登录 MySQL
- android input 点击事件失效,在textinputedittext android上不会触发onclick事件
- dom4j生成、解析xml
- poj 3459(背包问题)
- BFS HDOJ 2102 A计划
- 深度学习-吴恩达-笔记-3-浅层神经网络
- 一家世界500强企业为什么还要做不赚钱的生意?
- HTML !DOCTYPE 声明详解
- 《Windows程序设计》学习笔记(chap10菜单及其它资源)(一)
- 强烈推荐7个国外图片资源网站
- linux常用网络命令笔记
- 第九周上机项目3:个人所得税计算器
- uni-app实现扫码功能
- 【JavaWeb】Servlet系列——HttpServletRequest接口详解
- Js根据拼音首字母分组
- 解决MATLAB2018b打开m文件后注释乱码的问题
- 手机dpi修改工具_手机dpi修改器app下载-手机dpi修改工具官方版 v1.0_5577安卓网
- 全球及中国胶粘剂和密封胶基材行业产销现状与运营前景预测报告2022版
- 我的世界服务器java启动脚本_我的世界服务器开服bat文件分享 常见脚本
热门文章
- 【数学】极限-夹逼定理,重要极限sinx/x的证明
- java计算机毕业设计汽车客运站票务管理系统源码+程序+lw文档+mysql数据库
- RFSoC应用笔记 - RF数据转换器 -01- 概述和IP接口介绍
- “QQ找茬”游戏的识别小软件JAVA源码
- android字节流压缩,Android代码压缩工具R8详解 android.enableR8=true
- 学习笔记(Deep Learning for Feynman’s Path Integral in Strong-Field Time-Dependent Dynamics)
- 天空机器人 联动存档_FC天空机器人经典版
- 网络篇 OSPF的默认路由-53
- 201208-PyTorch求解矩阵正交基
- BMC 历史漏洞汇总