【Python】-- Turtle绘图(使用代码画喜欢的图形!)

news2024/10/7 16:22:44

什么是Turtle?

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


一、画布的设置

方法:turtle.setup(width,height,startx,starty)

作用:设置主窗体的大小和位置

参数:

  • width 窗口宽度,整数表示像素值,小数表示窗口宽度与屏幕的比例
  • height: 窗口高度,整数表示像素值,小数表示窗口高度与屏幕的比例
  • startx:窗口左侧与屏幕左侧的像素距离,None表示窗口位于屏幕水平中央
  • starty:窗口顶部与屏幕顶部的像素距离,None表示窗口位于屏幕垂直中央

二、画笔的控制

函数说明
down()画笔落下,移动时绘制图形
up()画笔抬起,移动时不绘制图形
setheading(degree)海龟朝向,degree代表角度
reset()恢复所有设置
pensize(width)画笔的宽度
pencolor(colorstring)画笔的颜色
fillcolor(colorstring)绘制图形的填充颜色
fill(True)
fill(False)
circle(radius,extent)绘制一个图形,其中radius为半径,extent为度数,例如若extent为180,则画一个半圆;如要画一个圆形,可不必写第二个参数
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的参数也是可选项

 三、运动命令

函数说明
forward(d)向前移动距离d代表距离
backward(d)向后移动距离d代表距离
right(degree)向右转动多少度
left(degree)向左转动多少度
goto(x,y)将画笔移动到坐标
stamp()绘制当前图形
speed(speed)

画笔绘制的速度范围[0,10]整数

 小海龟旋转时逆时针为正、顺时针为负,0度向东,90度向北,180度向西,270度向南;负值表示相反方向。

四、绘图实例

1、画一个边长为160的三角形

import turtle
a = 160
turtle.forward(a)
turtle.left(120)
turtle.forward(a)
turtle.left(120)
turtle.forward(a)
turtle.done() #done的作用是暂停程序,停止画笔绘制,但绘图窗体不关闭,没有它则窗口会在程序完成时立即关闭

2、画一个边长为160的正方形

import turtle
a = 160
turtle.pencolor("red")
turtle.pensize(10)
turtle.pendown()
turtle.begin_fill()#此方法在绘制要填充的形状之前调用

turtle.fillcolor("black")

turtle.forward(a)
turtle.left(90)
turtle.forward(a)
turtle.left(90)
turtle.forward(a)
turtle.left(90)
turtle.forward(a)

turtle.end_fill()
turtle.done()

3、画一个五角星

import turtle
turtle.color("red")
turtle.pensize(5)

for i in range(6):
    turtle.forward(100)
    turtle.right(144)

turtle.done()

 4、画一个爱心

from turtle import *
def curvemove():
    for i in range(200):
        right(1)
        forward(1)
        
color("red","pink")
begin_fill()
left(140)
forward(111.65)
curvemove()
left(120)
curvemove()
forward(111.65)
end_fill()
done()

 


补充

典型RGB颜色对照表

英文名称

R.G.B.

十六进制

中文名称

white

255 255 255

#FFFFFF

白色

black

0 0 0

#000000

黑色

grey

190 190 190

#BEBEBE

灰色

darkgreen

0 100 0

#006400

深绿色

gold

255 215 0

#FFD700

金色

violet

238 130 238

#EE82EE

紫罗兰

purple

160 32 240

#A020F0

紫色

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/63438.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

罐头食品市场向好,APS车间排产软件保证食品制造企业有序生产

这些年,随着人们健康意识的不断提升,一些消费者认为,罐头的保质期长是因为添加了大量的防腐剂,但实际上这是一种错误的认知。罐头食品不需要添加防腐剂,而是采用热力杀菌和密封工艺,达到商业无菌和真空保存…

如何管好一个迭代?让数据帮你回答这些关键问题

对软件从业者来说,『敏捷开发』早已不是一个新名词。 相比瀑布模型,敏捷开发模型更强调演进式开发,快速灵活地应对变化,最终交付使客户满意的产品。这就要求研发团队内部、研发团队与产品乃至与业务、客户之间的密切沟通。当变化…

CW6163C车床的三维仿真及加工工艺

目录 1 传动轴分析 - 1 - 1.1 传动轴结构特点 - 1 - 1.2 传动轴的工艺分析 - 1 - 1.3 传动轴的技术要求 - 2 - 2 毛坯的选择 - 3 - 2.1 毛坯的类型 - 3 - 2.2 毛坯余量的确定 - 3 - 2.3 毛坯草图 - 4 - 3 工艺规程设计 - 5 - 3.1 定位基准的选择 - 5 - 3.1.1 粗基准的选择 - 5 …

div做一个简单的自适应布局

div做一个简单的自适应布局 效果 代码&#xff1a; <template><div class"main-page"><div></div><div></div><div></div><div></div><div></div></div> <style lang"le…

深入浅出——spring和AspectJ实现AOP操作

基本概念可看我之前的文章 AOP——基本概念、底层原理&#xff0c;这次直接来实现AOP的操作&#xff0c;在介绍操作之前&#xff0c;我们得先介绍AOP的各种术语 aop操作术语 1、连接点&#xff08;JoinPoint&#xff09;&#xff1a; 类里面哪些方法可以被增强&#xff0c;这…

小白必知必会的几个IP地址知识

小白必知必会的几个IP地址知识1.IP地址的定义2.IP地址的组成3.IP地址的分类4.广播地址5.IP多播6.子网掩码7.CIDR8.全局地址和私有地址1.IP地址的定义 IP地址(IPv4地址)由32位正整数来表示。TCP/IP通信要求将这样的IP地址分配给每一个参与通信的主机。IP地址在计算机内部以二进…

三问HPE,你真的想买下Nu­t­a­n­ix么?

【全球存储观察 | 热点关注】据多个媒体消息报道&#xff0c;慧与科技HPE在近几个月与超融合提供商Nutanix就收购进行了谈判。 在这之前的2017年2月&#xff0c;HPE以6.5亿美元收购了超融合全球老二SimpliVity&#xff0c;后来整合成了HPE重要的超融合产品线&#xff0c;并进一…

全栈测试工程师是怎么样练成的?

不久前&#xff0c;一位朋友让帮忙推荐个测试工程师&#xff0c;于是聊到了他们对测试工程师的诉求。 朋友公司是一家做教育软件的公司&#xff1a;Web端、App端产品都有涉及。 最初的诉求就是想找一位有1-2年相关产品测试经验的人即可。 但经过几轮沟通后&#xff0c;他的诉求…

.NET代码调优让程序占用内存减少

建了一个默认的ASP.NET Core Web API的项目,也就是那个WeatherForecast的默认项目模板,然后他把默认的生成5条数据的代码,改成了生成150000条数据,其他代码没变,如下: public IEnumerable<WeatherForecast> Get(){return Enumerable.Range(1, 150000).Select(index…

毕业设计-基于机器学习的二维码和条形码识别

目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…

ssrf漏洞--补充部分

可以使用的协议 下面是攻击时常用的协议 http/httpsftptftpsftpfiledictGopherldapldapsldapi file://path/to/file dict://<user>;<auth><host>:<port>/d:<word>:<database>:<n> dict://127.0.0.1:1337/stats ftp://127.0.0.1/ …

git常见bug及其解决方案

git常用命令和常见bug1、git主要命令2、git commit 提交的时候报错husky > pre-commit hook failed3、git命令行将本地仓库代码上传到github或gitlab远程仓库4、没有git pull更新代码就push的报错5、git 拉取某个分支的某一个commit的代码6、GitLab中配置SSH key7、配置成和…

QT:布局管理器消息盒子

让组件在水平和垂直方向对齐 有三种常用布局管理器&#xff1a; 水平&#xff0c;QHBoxLayout 垂直&#xff0c;QVBoxLayout 网格&#xff0c;QGridLayout(使布局好的界面嵌套到主窗口) 1.让组件大小固定 修改属性&#xff1a;minimusize&#xff0c;maxmumsize 最小和最大组件…

腾讯智慧交通的「KPI底座」

腾讯智慧交通背后&#xff0c;打造的是产业数字化下的数字产业新模式&#xff0c;也更是数字孪生、全真互联的新底盘。 作者|斗斗 出品|产业家 过去的一年&#xff0c;交通行业迎来一份重磅的文件《国家综合立体交通网规划纲要》&#xff0c;该纲要有一个最为关注的数字指…

HTML设计一个简单的奥迪RS汽车主题网站( web网页制作期末大作业)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

节能灯与led灯哪个对眼睛好?分享专业护眼的led灯

led灯完胜&#xff0c;也是现在大部分家居主流灯具。 许多家庭有这个疑惑&#xff0c;节能灯与led灯哪个对眼睛好&#xff1f;节能灯最大亮点就是寿命长&#xff0c;能量转化率比白炽灯高很多&#xff0c;但是跟led灯相比&#xff0c;是led灯的转化率更高的。 那么节能灯有哪些…

Git浅浅入个门~

1 Git 1.1 安装配置 install 安装位置&#xff1a;$HOME/git二进制文件位置&#xff1a;/usr/bin/git /* Linux 源码安装 git */ [usernamehostname]$ git clone git://git.kernel.org/pub/scm/git/git.git [usernamehostname]$ cd git [usernamehostname]$ ./configure --…

【入门到精通】安装与运行PHP脚本语言

文档背景 突然看见XSS攻击和钓鱼网站一些实现的代码。突然对PHP语言燃起了兴趣&#xff0c;怎么可以用如此精简的流程去实现复杂的逻辑。所以来记录一下入门PHP的一个过程&#xff0c;以免遗忘。 1、PHP简介 PHP是什么? PHP&#xff08;全称&#xff1a;PHP&#xff1a;Hyper…

基于蒙特卡洛的大规模电动汽车充电行为分析(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f4dd;目前更新&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;电力系统相关知识&#xff0c;期刊论文&…

em13c 部署 AGENT报:SSH 服务器检查失败

报错信息如下&#xff1a; 2022-03-18_19-43-21:INFO: Jsch Valdation Failed Problem :SSH 服务器检查失败 Recommendation: 验证 /u02/em13c/oraclehome/oui/prov/resourcesPaths.properties 文件中 SSH_PORT 的值。请确保该值与远程主机上运行 sshd 的端口相同。 2022-03-18…