python使用turtle画图快速入门,轻松完成作业练习
turtle介绍
turtle是一个绘图库,可以通过编程进行绘图。其模拟了一个乌龟在屏幕上的运动过程。该库通常用于给青少年学习编程,当然,也可以使用其进行作图。
在一些学校中,可能在python学习的课程中,要求完成turtle绘图的作业,例如,要求画出代表自己学校的图片。
turtle操作
基本操作
import turtle# 创建一个画步
screen = turtle.Screen()# 设置画布的大小
screen.setup(width=600, height=400)# 设置标题
screen.title("小乌龟绘图")# 创建一个乌龟
t = turtle.Turtle()# 向前走100
t.forward(100)# 左转90度
t.left(90)# 重复走几次,此时我们画出了一个正方形
for i in range(3):t.forward(100)t.left(90)
结果如图所示:

转向与移动
- 前进:
t.forward(distance)或者t.fd(distance) - 后退:
t.backward(distance)或者t.bk(distance) - 右转:
t.right(angle)或者t.rt(angle) - 左转:
t.left(angle)或者t.lt(angle) - 抬起画笔:
t.penup()或者t.pu() - 放下画笔:
t.pendown()或者t.pd() - 到指定位置:
t.goto(x, y) - 获取当前位置:
t.position() - 获取朝向的角度:
t.heading()
绘制图案
- 绘制圆形:
t.circle(radius) - 绘制点:
t.dot(size, color) - 隐藏海龟:
t.hideturtle() - 显示海龟:
t.showturtle() - 改变海龟形状:
t.shape("turtle") - 写字:
t.write("Hello, Turtle!", font=("Arial", 16, "normal")) - 清除绘制内容,但海龟位置不变:
t.clear() - 清除绘制内容,且重置海龟位置:
t.reset() - 完成绘制:
turtle.done()
可选海龟形状:
- 箭头:arrow
- 海龟:turtle
- 圆圈:circle
- 方块:square
- 三角:triangle
- 经典:classic
画笔属性
- 设置画笔颜色:
t.color(color) - 设置画笔粗细:
t.pensize(width) - 设置画笔移动速度(0-10,10最快):
t.speed(speed)
经典turtle图案
彩色五角星
import turtle
import randomscreen = turtle.Screen()
screen.setup(width=500, height=500)t = turtle.Turtle()
screen.colormode(255) # 将颜色模式设置为RGB颜色for i in range(50):r = random.randint(0, 255)g = random.randint(0, 255)b = random.randint(0, 255)t.color(r, g, b)t.forward(5 * i)t.right(144)
彩色五角星:

奥运五环
奥运五环的颜色,分别是蓝色,黑色,红色,黄色和绿色,代表了欧洲,亚洲,非洲,大洋洲和美洲,其设计者为顾拜旦。
import turtlescreen = turtle.Screen()
screen.setup(width=500, height=500)colors = ["blue", "black", "red", "yellow", "green"]
positions = [(-120, 0), (0, 0), (120, 0), (-60, -50), (60, -50)]t = turtle.Turtle()
t.pensize(6)for color, position in zip(colors, positions):t.penup()t.goto(position)t.pendown()t.color(color)t.circle(50)
奥运五环:

樱花树
樱花树的树枝的颜色是棕色的,粗细2-4,花朵的颜色是粉色的,粗细1-2,当branch_length小于等于5时,停止绘制。
import turtle
import randomscreen = turtle.Screen()
screen.setup(width=1000, height=800)t = turtle.Turtle()t.penup()
t.goto(0, -200)
t.pendown()
t.left(90)def draw_branch(branch_length, t):if branch_length > 5:if branch_length < 20:t.color("pink")t.pensize(random.uniform(1, 2))else:t.color("brown")t.pensize(random.uniform(2, 4))t.forward(branch_length)angle = random.uniform(15, 45)t.right(angle)draw_branch(branch_length - random.uniform(5, 15), t)t.left(2 * angle)draw_branch(branch_length - random.uniform(5, 15), t)t.right(angle)t.backward(branch_length)draw_branch(100, t)
樱花树:

turtle图片保存
import turtle
from PIL import Image# 假设做了一些绘图操作,现在我们要保存了# 如果你不想要看到箭头(也就是乌龟)影响保存图片效果
# 可以通过hideturtle隐藏乌龟
t.hideturtle()canvas = screen.getcanvas()
canvas.postscript(file="turtle_picture.ps")image = Image.open("turtle_picture.ps")
image.save("turtle_picture.png")
如果系统中没有ghostscript,那么无法将.ps的文件,转为.png的文件,会报错unable to locate ghostscript on paths
此时,需要下载ghostscript
下载以后,需要将下载到的ghostscript添加到环境变量中,例如,默认的地址可能是:C:\Program Files\gs\gs10.04.0\bin,当然,需要按照你实际安装的地址填写。
P.S. 突然发现,其实百度百科写的也挺详细的
相关文章:
python使用turtle画图快速入门,轻松完成作业练习
turtle介绍 turtle是一个绘图库,可以通过编程进行绘图。其模拟了一个乌龟在屏幕上的运动过程。该库通常用于给青少年学习编程,当然,也可以使用其进行作图。 在一些学校中,可能在python学习的课程中,要求完成turtle绘…...
【C++】新手入门指南
> 🍃 本系列为初阶C的内容,如果感兴趣,欢迎订阅🚩 > 🎊个人主页:[小编的个人主页])小编的个人主页 > 🎀 🎉欢迎大家点赞👍收藏⭐文章 > ✌️ 🤞 …...
C++使用开源ConcurrentQueue库处理自定义业务数据类
ConcurrentQueue开源库介绍 ConcurrentQueue是一个高性能的、线程安全的并发队列库。它旨在提供高效、无锁的数据结构,适用于多线程环境中的数据交换。concurrentqueue 支持多个生产者和多个消费者,并且提供了多种配置选项来优化性能和内存使用。 Conc…...
在vue3的vite网络请求报错 [vite] http proxy error:
在开发的过程中 代理proxy报错: [vite] http proxy error: /ranking/hostRank?dateType1 Error: connect ETIMEDOUT 43.xxx.xxx.xxx:443 网络请求是http的: // vite.config.ts import { Agent } from node:http;server: {host: 0.0.0.0,port: port,open: true,https: false,…...
ElasticSearch 简单的查询。查询存在该字段的资源,更新,统计
1.查询存在该字段的数据 {"query": {"bool": {"must": [{"exists": { "field": "chainCode"}}],"must_not": {"exists": {"field": "isDelete"}}}} } 备注:…...
FOFA使用教程之从零到精通
FOFA使用教程之从零到精通 前言一、关于网络资产测绘的概念1、啥是网络空间资产测绘2、啥是互联网资产二、FOFA的简要介绍1、FOFA地址是啥?2、关于FOFA的简要介绍三、FOFA精讲1、运算符规则详解① 关于 = 号的使用说明② 关于 == 号的使用说明③ 关于 && 号的使用说明…...
【提高篇】3.2 GPIO(二,基本结构)
目录 一,GPIO的基本结构 二,保护二极管 三,上拉、下拉电阻 四,施密特触发器 五,P-MOS 管和 N-MOS 管 P-MOS管和N-MOS管的区别 六,片上外设 七,IDR,ODR,BSRR寄存器 7.1 IDR(Input Data Register) 7.2 ODR(Output Data Register) 7.3 BSRR(Bit Set/Rese…...
UE hard/soft reference| DDX DDY | Unity pcg color
目录 1.虚幻引擎性能优化 (附0跳转Unity对应机制) hard reference and soft reference 1. 硬引用(Hard Reference) 2. 软引用(Soft Reference) 3. 使用原则 2.空间梯度转法线 DDX DDY节点 编辑 …...
macOS 应用公证指南:使用 fastlane 实现自动化公证流程
背景介绍 在 macOS 系统上,为了保护用户安全,Apple 要求开发者对未通过 Mac App Store 分发的应用程序进行公证(Notarization)。如果应用程序没有经过公证,用户在运行时会看到警告弹窗,这会影响用户体验。虽然开启沙箱模式的应用可以直接通过 App Store 分发来避免这个问题…...
深度学习:解密图像、音频和视频数据的“理解”之道20241105
🔍 深度学习:解密图像、音频和视频数据的“理解”之道 深度学习已然成为人工智能领域的中流砥柱,它如何处理不同类型的数据(如图像、音频、视频)?如何将这些数据转换成计算机能理解和学习的“语言”&#…...
uniapp 实现瀑布流
效果演示 组件下载 瀑布流布局-waterfall - DCloud 插件市场...
计算机毕业设计 | springboot+vue智慧工地管理系统 前后端分离后台管理(附源码+文档)
1,项目介绍 管理信息是重要的资源、管理信息是决策的基础。同时管理信息是实施管理控制的依据以及是联系组织内外的纽带。对于企业,最重要的5大资源包括人、物资、能源、资金、信息。人、物资、能源、资金是可以看见的有形资源,信息则是一种…...
vue中html如何转成pdf下载,pdf转base64,忽略某个元素渲染在pdf中,方法封装
一、下载 html2Canvas jspdf npm install jspdf html2canvas二、封装转换下载方法 htmlToPdf.js import html2Canvas from html2canvas import JsPDF from jspdf/*** param {*} reportName 下载时候的标题* param {*} isDownload 是否下载默认为下载,传false不…...
Ubuntu下如何管理多个ssh密钥
Ubuntu下如何管理多个ssh密钥 前言 我一直在逃避这个问题,误以为我能够单纯地用一个 ssh 走天下。 好吧,现实是我不得不管理多个 ssh 做,那就写个博客总结一下吧。 查阅后发现前人已经总结了不少,那我就结合之后ÿ…...
[vulnhub] DarkHole: 1
https://www.vulnhub.com/entry/darkhole-1,724/ 端口扫描主机发现 探测存活主机,184是靶机 nmap -sP 192.168.75.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-08 09:59 CST Nmap scan report for 192.168.75.1 Host is up (0.00027s latency). MA…...
商淘云连锁企业管理五大功能 收银系统助力门店进销存同步
连锁企业管理的五大功能相互协作,共同确保连锁门店能够高效运营、降低成本、提升客户满意度,并最终实现盈利目标。今天,商淘云分享连锁企业管理的五大功能: 1、进销存管理:进销存管理是连锁企业的基础功能之一…...
统信UOS开发环境支持Perl
UOS凭借广泛的编程语言支持,为开发者构建了一个高效灵活的开发环境,无需担心环境兼容性问题。 文章目录 一、环境部署1. Perl开发环境安装2. Perl开发环境配置环境变量配置模块管理器编辑器集成调试工具二、代码示例文件处理Web开发三、常见问题1. 依赖管理问题2. 性能问题3.…...
Stable Diffusion Web UI - ControlNet 姿势控制 openpose
openpose 是 ControlNet 中常用的控制模式之一。 通过 openpose 可以锁定人物姿势,把姿势信息传递给 Stable Diffusion 扩散模型,让其在扩散生成图片的时候遵照特定的任务姿势。 通过 openpose 能够得到类似如下效果: 同样的姿势࿰…...
java中Json字符串转换
文章目录 map与json互转map转jsonmap形式的json转map list与json互转list转jsonlist形式的json转list map形式的json串中含有列表转列表 map与json互转 map转json JSONObject.toJSONString(map); public static void main(String[] args) {Map<String, Object> map n…...
springboot处理跨域请求
在Spring Boot中处理跨域请求(CORS, Cross-Origin Resource Sharing)通常有几种方法。跨域请求是指从一个域名的网页去请求另一个域名下的资源。为了安全起见,浏览器会阻止这种请求,除非服务器明确允许。 方法一:使用…...
三相三电平Vienna整流器:SPWM与SVPWM调制仿真及控制策略对比分析
三相三电平vienna整流器SPWM和SVPWM调制仿真 基于plecs搭建 温度场分析 双PI控制 锁相环控制 中点电压平衡控制 功率因数为1 SPWM和SVPWM调制对比 谐波畸变率对比分析 电压利用率对比分析 电压平衡和不平衡控制对比 图1 仿真模型 图2 温度场分析 图3 交流电压电流三电平…...
C# .NET 周刊|2026年3月1期
国内文章.NET 11 预览版1:CoreCLR 在 WebAssembly 上的全面集成与性能突破https://www.cnblogs.com/shanyou/p/19629649.NET 11 Preview 1 正式发布,标志着 CoreCLR 运行时能原生支持 WebAssembly。这是微软在跨平台战略上的重大进展。CoreCLR 提供更优性…...
Qt QFile与QTextStream高效文本处理实战指南
1. Qt文件处理基础与QFile核心用法 在Qt开发中,文件操作是每个开发者必须掌握的基础技能。无论是处理配置文件、记录日志还是数据持久化,都离不开对文件的读写操作。QFile作为Qt框架中专门用于文件操作的类,提供了跨平台的文件处理能力&…...
探索TinyEditor:400字节内的微型全能代码编辑器
探索TinyEditor:400字节内的微型全能代码编辑器 【免费下载链接】TinyEditor A functional HTML/CSS/JS editor in less than 400 bytes 项目地址: https://gitcode.com/gh_mirrors/ti/TinyEditor 在前端开发工具领域,TinyEditor以其极致精简的设…...
Pixel Mind Decoder 效果对比评测:在不同文体和语言风格下的表现
Pixel Mind Decoder 效果对比评测:在不同文体和语言风格下的表现 1. 核心能力概览 Pixel Mind Decoder 是一款专注于文本情绪解码的模型,能够识别和分析不同文本中蕴含的情感倾向。与通用情感分析工具不同,它特别擅长处理复杂语境下的微妙情…...
解决Qt中使用qmqtt连接ONENet MQTT服务端的版本兼容性问题
1. 问题背景:当qmqtt遇上ONENet 最近在做一个物联网项目,需要用Qt开发一个MQTT客户端连接ONENet平台。按照官方文档,我选择了emqx/qmqtt这个第三方库,结果连接时直接报错。代码明明照着示例写的,参数也都检查过&#x…...
别再说‘差不多’了!搞懂PPM,你的数字电路时钟才算真的稳了(附计算器)
别再说‘差不多’了!搞懂PPM,你的数字电路时钟才算真的稳了(附计算器) 在数字电路设计中,时钟信号如同人体的心跳,其稳定性直接决定了整个系统的可靠性。然而,许多工程师在面对"PPM"这…...
Windows Auto Dark Mode:智能主题切换工具的全面应用指南
Windows Auto Dark Mode:智能主题切换工具的全面应用指南 【免费下载链接】Windows-Auto-Night-Mode Automatically switches between the dark and light theme of Windows 10 and Windows 11 项目地址: https://gitcode.com/gh_mirrors/wi/Windows-Auto-Night-M…...
MAX30102传感器寄存器深度解析与实战配置指南
1. MAX30102传感器核心功能解析 MAX30102是一款集成了红光和红外光LED的光学传感器,专门用于非侵入式心率监测和血氧饱和度(SpO2)测量。这个火柴盒大小的芯片内部藏着精密的模拟前端和数字信号处理单元,能够捕捉到人体脉搏带来的微弱光信号变化。 我第一…...
TestNet资产管理平台:从安装到实战,全面超越灯塔的解决方案
1. TestNet资产管理平台:为什么你需要它? 如果你是一名网络安全工程师或者渗透测试人员,肯定对资产管理的繁琐深有体会。传统的资产管理工具要么功能单一,要么操作复杂,而TestNet资产管理系统的出现,彻底改…...
