Python源码分享10:使用海龟画图turtle画哆啦A梦

turtle模块是一个Python的标准库之一,它提供了一个基于Turtle graphics的绘图库。Turtle graphics是一种流行的绘图方式,它通过控制一个小海龟在屏幕上移动来绘制图形。

turtle模块可以让您轻松地创建和控制海龟图形,从而帮助您学习Python编程和图形编程的基本概念。您可以使用turtle模块绘制各种形状、线条和图案,还可以通过添加颜色和其他效果来增强绘图的视觉效果。

turtle模块还提供了一些简单的函数和命令,例如前进、后退、转向、设置画笔颜色和粗细等等。这些函数和命令使得您可以轻松地控制海龟的移动和绘图行为。此外,turtle模块还提供了一些高级功能,例如创建自己的绘图函数、保存和加载绘图文件等等。

总之,turtle模块是一个非常适合初学者使用的Python库,它可以帮助您学习Python编程和图形编程的基本概念,并为您提供了一个轻松愉快的绘图环境。

import turtle as tdef flyTo(x, y):t.penup()t.goto(x, y)t.pendown()
def drawEye():t.tracer(False)a = 2.5for i in range(120):if 0 <= i < 30 or 60 <= i < 90:a -= 0.05else:a += 0.05t.left(3)t.fd(a)t.tracer(True)
def beard():""" 画胡子, 一共六根"""# 左边第一根胡子flyTo(-37, 135)t.seth(165)t.fd(60)# 左边第二根胡子flyTo(-37, 125)t.seth(180)t.fd(60)# 左边第三根胡子flyTo(-37, 115)t.seth(193)t.fd(60)# 右边第一根胡子flyTo(37, 135)t.seth(15)t.fd(60)# 右边第二根胡子flyTo(37, 125)t.seth(0)t.fd(60)# 右边第三根胡子flyTo(37, 115)t.seth(-13)t.fd(60)
def drawRedScarf():""" 画围巾"""t.fillcolor("red")  # 填充颜色t.begin_fill()t.seth(0)  # 朝向右t.fd(200)  # 前进10个单位t.circle(-5, 90)t.fd(10)t.circle(-5, 90)t.fd(207)t.circle(-5, 90)t.fd(10)t.circle(-5, 90)t.end_fill()
def drawMouse():flyTo(5, 148)t.seth(270)t.fd(100)t.seth(0)t.circle(120, 50)t.seth(230)t.circle(-120, 100)
def drawRedNose():flyTo(-10, 158)t.fillcolor("red")  # 填充颜色t.begin_fill()t.circle(20)t.end_fill()
def drawBlackdrawEye():t.seth(0)flyTo(-20, 195)t.fillcolor("#000000")  # 填充颜色t.begin_fill()t.circle(13)t.end_fill()t.pensize(6)flyTo(20, 205)t.seth(75)t.circle(-10, 150)t.pensize(3)flyTo(-17, 200)t.seth(0)t.fillcolor("#ffffff")t.begin_fill()t.circle(5)t.end_fill()flyTo(0, 0)
def drawFace():t.forward(183)  # 前行183个单位t.fillcolor("white")  # 填充颜色为白色t.begin_fill()  # 开始填充t.left(45)  # 左转45度t.circle(120, 100)  # 右边那半边脸t.seth(90)  # 朝向向上drawEye()  # 画右眼睛t.seth(180)  # 朝向左t.penup()  # 抬笔t.fd(60)  # 前行60t.pendown()  # 落笔t.seth(90)  # 朝向上drawEye()  # 画左眼睛t.penup()  # 抬笔t.seth(180)  # 朝向左t.fd(64)  # 前进64t.pendown()  # 落笔t.seth(215)  # 修改朝向t.circle(120, 100)  # 左边那半边脸t.end_fill()  #
def drawHead():""" 画了一个被切掉下半部分的圆"""t.penup()  # 抬笔t.circle(150, 40)  # 画圆, 半径150,圆周角40t.pendown()  # 落笔t.fillcolor("#00a0de")  # 填充色t.begin_fill()  # 开始填充t.circle(150, 280)  # 画圆,半径150, 圆周角280t.end_fill()
def drawAll():drawHead()drawRedScarf()drawFace()drawRedNose()drawMouse()beard()flyTo(0, 0)t.seth(0)t.penup()t.circle(150, 50)t.pendown()t.seth(30)t.fd(40)t.seth(70)t.circle(-30, 270)t.fillcolor("#00a0de")t.begin_fill()t.seth(230)t.fd(80)t.seth(90)t.circle(1000, 1)t.seth(-89)t.circle(-1000, 10)t.seth(180)t.fd(70)t.seth(90)t.circle(30, 180)t.seth(180)t.fd(70)t.seth(100)t.circle(-1000, 9)t.seth(-86)t.circle(1000, 2)t.seth(230)t.fd(40)t.circle(-30, 230)t.seth(45)t.fd(81)t.seth(0)t.fd(203)t.circle(5, 90)t.fd(10)t.circle(5, 90)t.fd(7)t.seth(40)t.circle(150, 10)t.seth(30)t.fd(40)t.end_fill()# 左手t.seth(70)t.fillcolor("#FFFFFF")t.begin_fill()t.circle(-30)t.end_fill()# 脚flyTo(103.74, -182.59)t.seth(0)t.fillcolor("#FFFFFF")t.begin_fill()t.fd(15)t.circle(-15, 180)t.fd(90)t.circle(-15, 180)t.fd(10)t.end_fill()flyTo(-96.26, -182.59)t.seth(180)t.fillcolor("#FFFFFF")t.begin_fill()t.fd(15)t.circle(15, 180)t.fd(90)t.circle(15, 180)t.fd(10)t.end_fill()# 右手flyTo(-133.97, -91.81)t.seth(50)t.fillcolor("#FFFFFF")t.begin_fill()t.circle(30)t.end_fill()# 口袋flyTo(-103.42, 15.09)t.seth(0)t.fd(38)t.seth(230)t.begin_fill()t.circle(90, 260)t.end_fill()flyTo(5, -40)t.seth(0)t.fd(70)t.seth(-90)t.circle(-70, 180)t.seth(0)t.fd(70)# 铃铛flyTo(-103.42, 15.09)t.fd(90)t.seth(70)t.fillcolor("#ffd200")t.begin_fill()t.circle(-20)t.end_fill()t.seth(170)t.fillcolor("#ffd200")t.begin_fill()t.circle(-2, 180)t.seth(10)t.circle(-100, 22)t.circle(-2, 180)t.seth(180 - 10)t.circle(100, 22)t.end_fill()flyTo(-13.42, 15.09)t.seth(250)t.circle(20, 110)t.seth(90)t.fd(15)t.dot(10)flyTo(0, -150)drawBlackdrawEye()
def main():t.screensize(800, 6000, "#F0F0F0")t.pensize(3)t.speed(9)drawAll()
if __name__ == "__main__":main()t.mainloop()

在这里插入图片描述
完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具

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

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

相关文章

使用xshell连接虚拟机(服务器)

作者&#xff1a;余小小 Xshell Xshell [1] 是一个强大的安全终端模拟软件&#xff0c;它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。 Xshell可以…

SpringDataJPA基础

简介 Spring Data为数据访问层提供了熟悉且一致的Spring编程模版&#xff0c;对于每种持久性存储&#xff0c;业务代码通常需要提供不同存储库提供对不同CURD持久化操作。Spring Data为这些持久性存储以及特定实现提供了通用的接口和模版。其目的是统一简化对不同类型持久性存储…

华清远见嵌入式学习——QT——作业1

作业要求&#xff1a; 代码&#xff1a; ①&#xff1a;头文件 #ifndef LOGIN_H #define LOGIN_H#include <QWidget> #include <QLineEdit> //行编辑器类 #include <QPushButton> //按钮类 #include <QLabel> //标签类 #include <QM…

图像处理之把模糊的图片变清晰

1.图片如果是有雾化效果的对图像产生影响的,要先进行图形增强,Retinex是基于深度神经网络了,我在之前图形处理的文章一路从神经网络(概率统计)—>积卷神经网络(对区域进行概率统计,对图片进行切割多个识别对象)–>深度积卷神经网络(RetinexNet也是模拟人脑的处理过程,增加…

css弹窗动画效果,示例弹窗从底部弹出

从底部弹出来&#xff0c;有过渡动画效果 用max-height可以自适应内容的高度&#xff0c;当内容会超过最大高度时可以在弹窗里加个scroll-view 弹窗不能用v-if来隐藏&#xff0c;不然transition没效果&#xff0c;transition只能对已有dom元素起效果&#xff0c;所以用透明和v…

软件测试入门:静态测试

什么是静态测试 顾名思义&#xff0c;这里的静态是指程序的状态&#xff0c;即在不执行代码的情况下检查软件应用程序中的缺陷。进行静态测试是为了仅早在开发的早期阶段发现程序缺陷&#xff0c;因为这样可以更快速地识别缺陷并低成本解决缺陷&#xff0c;它还有助于查找动态测…

Elasticsearch从入门到精通

Elasticsearch简介 应用开发中一个比较常见的功能是搜索&#xff0c;传统应用的解决方案&#xff1a;数据库的模糊查询。 模糊查询存在的问题&#xff1a; 海量数据下效率低下功能不够丰富&#xff1a;不够智能、不能高亮 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据…

鸿蒙原生应用/元服务开发-Stage模型能力接口(一)

ohos.app.ability.Ability (Ability基类)一、说明 UIAbility和ExtensionAbility的基类&#xff0c;提供系统配置更新回调和系统内存调整回调。本模块首批接口从API version 9 开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。本模块接口仅可在Stag…

flex布局的flex为1到底是什么

参考博客&#xff1a;flex:1什么意思_公孙元二的博客-CSDN博客 flex&#xff1a;1即为flex-grow&#xff1a;1&#xff0c;经常用作自适应布局&#xff0c;将父容器的display&#xff1a;flex&#xff0c;侧边栏大小固定后&#xff0c;将内容区flex&#xff1a;1&#xff0c;内…

华为数通---配置Smart Link负载分担案例

定义 Smart Link&#xff0c;又叫做备份链路。一个Smart Link由两个接口组成&#xff0c;其中一个接口作为另一个的备份。Smart Link常用于双上行组网&#xff0c;提供可靠高效的备份和快速的切换机制。 目的 下游设备连接到上游设备&#xff0c;当使用单上行方式时&#x…

KUKA机器人如何自定义数值型变量?

KUKA机器人如何自定义数值型变量? 在KUKA机器人系统中如何自定义数值型变量来实现工件计数、计时等功能? 具体方法可参考以下内容: 如下图所示,找到SYSTEM—CONFIG.DAT文件,进入(需要管理员权限), 如下图所示,在第10行自定义一个int型的变量a, 如下图所示,自定义完成…

Ribbon组件的负载均衡原理

原因背景 spring cloud的底层负载均衡是采用Ribbon组件&#xff0c;我们将user-service服务注册到eureka-server中&#xff0c;那么当我们在另一个服务的代码层面请求远程调用API接口http://user-service/users/5时&#xff0c;程序代码如何解析远程调用的user-service服务名转…

Dockerfile介绍

1. DockerFile介绍 dockerfile是用来构建docker镜像的文件&#xff01;命令参数脚本&#xff01; 构建步骤&#xff1a; 1、编写一个dockerfile文件 2、docker build 构建成为一个镜像 3、docker run运行镜像 4、docker push发布镜像&#xff08;DockerHub、阿里云镜像仓库…

Django模板,Django中间件,ORM操作(pymysql + SQL语句),连接池,session和cookie, 缓存

day04 django进阶-知识点 今日概要&#xff1a; 模板中间件ORM操作&#xff08;pymysql SQL语句&#xff09;session和cookie缓存&#xff08;很多种方式&#xff09; 内容回顾 请求周期 路由系统 最基本路由关系动态路由&#xff08;含正则&#xff09;路由分发不同的app中…

《论文阅读》用于情绪回复生成的情绪正则化条件变分自动编码器 Affective Computing 2021

《论文阅读》用于情绪回复生成的情绪正则化条件变分自动编码器 前言简介模型结构实验结果总结前言 今天为大家带来的是《Emotion-Regularized Conditional Variational Autoencoder for Emotional Response Generation》 出版:IEEE Transactions on Affective Computing 时间…

ZKP Understanding Nova (2) Relaxed R1CS

Understanding Nova Kothapalli, Abhiram, Srinath Setty, and Ioanna Tzialla. “Nova: Recursive zero-knowledge arguments from folding schemes.” Annual International Cryptology Conference. Cham: Springer Nature Switzerland, 2022. Nova: Paper Code 2. Unders…

openGauss学习笔记-147 openGauss 数据库运维-备份与恢复-逻辑备份与恢复之gs_dump

文章目录 openGauss学习笔记-147 openGauss 数据库运维-备份与恢复-逻辑备份与恢复之gs_dump147.1 背景信息147.2 注意事项147.3 语法147.4 参数说明147.4.1 通用参数&#xff1a;147.4.2 转储参数&#xff1a;147.4.3 连接参数&#xff1a; 147.5 说明147.6 示例 openGauss学习…

HTTP、HTTPS、SSL协议以及报文讲解

目录 HTTP/HTTPS介绍 HTTP/HTTPS基本信息 HTTP请求与应答报文 HTTP请求报文 HTTP响应报文 SSL协议 SSL单向认证 SSL双向认证 HTTP连接建立与传输步骤 HTTP访问全过程相关报文&#xff08;以访问www.download.cucdccom为例子&#xff09; DNS报文解析 TCP三次握手连…

【Flink系列六】Flink里面的状态一致性

状态一致性 有状态的流处理&#xff0c;内部每个算子任务都可以有自己的状态&#xff0c;对于流处理器内部来说&#xff0c;所谓的状态一致性&#xff0c;其实就是我们所说的计算结果要保证准确。一条数据不应该丢失&#xff0c;也不应该重复计算。再遇到有故障时可以恢复状态…

RabbitMQ 常见面试题

目录 1.前置知识1.1.什么是 MQ&#xff1f;它有什么作用&#xff1f;1.2.什么是消费者生产者模型&#xff1f;1.3.AMQP 是什么&#xff1f; 2.RabbitMQ 入门2.1.什么是 RabbitMQ&#xff1f;有什么特点&#xff1f;2.2.RabbitMQ 的核心概念有哪些&#xff1f;2.2.1.生产者 (Pro…