python-turtle库

news2024/11/18 21:51:07

turtle库

turtle.done() - - - done函数让窗口进入消息循环,等待关闭

  • 设置画布大小和位置

    turtle.screensize(canvwidth=None, canvheight=None, bg=None)
    画布的宽高背景颜色

    turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
    宽高为整数时表示像素,为小数时表示占屏幕的比例,startx和starty为画布左上角顶点离电脑最左上方的距离

    turtle.screensize() 					# (400, 300)	# 查看画布大小  默认(400, 300)
    turtle.screensize(800,600,'red')		# 画布大小宽800高600背景red
    
    turtle.setup(width=0.6,height=0.6)  	# 居中心位置
    
  • 画笔常用移动指令
    pensize(width) - - - 画笔的宽度
    pencolor() - - - 画笔的颜色,可以是str和RGB3元组(0~1)
    speed() - - - 画笔移动速度[0,10] - - - 0最快,从1速度最慢到10速度越来越快

    penup() - - - 提笔
    pendown() - - - 落笔

    forward(distance) - - - 前进 fd
    backward(distance) - - - 后退 bk or back

    right(angle) - - - 向右旋转angle角度 - - - 顺时针 - - - t.rt
    left(angle) - - - 向左选择angle角度 - - - 逆时针 - - - t.lt

    goto(x, y) - - - 将画笔移动到x,y的位置

    circle(radius, e) - - - 角度e - - - 半径为正,向左(逆时针画圆)

    setheading(angle) - - - 设置当前朝向为angle角度 - - - seth

    home() - - - 将当前位置设置为原点,朝向东

    dot(r,color) - - - 画一个点

    setx() - - - 将当前x轴移动到指定位置
    sety() - - - 将当前y轴移动到指定位置

  • 画笔常用控制命令

    fill_color(colorstring) - - - 绘制图形的填充颜色
    color(color1, color2) - - - 同时设置画笔和填充色(pencolor=color1, fillcolor=color2)

    filling() - - - 返回当前是否在填充状态 - - - 返回True和False

    begin_fill() - - - 准备开始填充图形的颜色
    end_fill() - - - 填充结束

    hideturtle() - - - 隐藏画笔的turtle形状
    showturtle() - - - 显示画笔的turtle形状

  • 全局控制常用命令

    clear() - - - 清空turtle窗口,turtle的位置和状态不会改变

    reset() - - - 清空窗口,重置turtle状态为起始状态

    undo() - - - 撤销上一个turtle动作

    isvisible() - - - 返回当前turtle是否可见

    write(s[,font=(“font-name”, font_size, “font_type”)]) - - - 写文本,s为文本内容,font是字体的参数,字体的风格,可以是"normal"、“bold”、“italic"或者"underline”

    stamp() - - - 复制当前图形

  • 其他常用指令

    mainloop() 或 done() - - - 启动事件循环,必须是turtle图形程序的最后一个语句

    mode(mode=None) - - - 设置turtle模式(‘standard’, ‘logo’, ‘world’) 并执行重置,如果没有给出模式,返回当前模式,standard向右(东),若是角度的话为逆时针,logo:向上(北)

    delay(delay=None) - - - 设置或返回以毫秒为单位的绘图延迟

    begin_poly() - - - 开始记录多边形的顶点,当前的乌龟位置是多边形的第一个顶点
    end_poly() - - - 停止记录多边形的顶点,当前的乌龟位置是多边形的最后一个顶点,与第一个顶点相连

    get_poly() - - - 返回最后记录的多边形

练习

t.circle(radius, extent=None, steps=None)
extent弧度
steps做圆的内切正多边形,边数为steps

import turtle as t
t.circle(50,180)       # 画了一个半径为50的半圆
t.circle(100,steps=5)  # 只画多边形
t.done()
import turtle as t
t.pencolor('red')   # 或 t.color('red')
t.write('hello world', align="center", font=("Arial", 100, "normal"))
t.done()

jupyter notebook运行该代码会一直报错,使用IDLE运行

在这里插入图片描述

import turtle as t
color = (0,0.01,0)

t.color(color,color)  # 第二个color是turtle画笔(没有尾巴的箭头)里面的颜色
t.fillcolor(color)
t.begin_fill()
for i in range(4):
    t.fd(50)
    t.right(90)
t.end_fill()    

t.done()
t.mainloop()

在这里插入图片描述

import turtle

# 定义颜色列表
colors = ["#FF0000", "#FF7F00", "#FFFF00", "#00FF00", "#00FFFF", "#0000FF", "#8B00FF"]

# 初始化窗口
window = turtle.Screen()
window.bgcolor("#FFFFFF")
window.title("Color Chart")

# 绘制色卡
turtle.penup()
turtle.goto(-150, 150)
turtle.pendown()
for i in range(7):
    turtle.fillcolor(colors[i])
    turtle.begin_fill()
    for j in range(4):
        turtle.forward(50)
        turtle.right(90)
    turtle.end_fill()
    turtle.penup()
    turtle.forward(60)
    turtle.pendown()

turtle.hideturtle()

# 关闭窗口
turtle.done()
turtle.mainloop()

在这里插入图片描述

import turtle as t

t.speed(0)  			# 设置速度为最快
t.color("black")  		# 设置画笔颜色
t.fillcolor('yellow')	# 设置填充颜色
t.begin_fill()  		# 开始填充
for i in range(5):  	# 画五边形
    t.forward(100)  	# 向前移动100像素
    t.right(144)  		# 右转144度
t.end_fill()  			# 结束填充

t.done()  				# 完成画画

在这里插入图片描述


在jupyter notebook中绘图时可以在最后加上t.done()或t.mainloop()就可以在jupyter notebook里绘图的

t.done()
t.mainloop()
turtle.done()
turtle.mainloop()

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

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

相关文章

leetcode第362场周赛

2848. 与车相交的点 核心思想:差分数组。统计覆盖区间,把nums中有的区间1,维护区间我们用差分数组,然后求出差分数组的前缀和即是我们维护的区间,判断区间有哪些值是大于0的即可。 2849. 判断能否在给定时间到达单元格…

新型温湿度传感器解决方案:满足多样化应用需求

在许多环境和应用场景中,温度和湿度的监控和管理都至关重要。例如,在农业大棚中,精确控制温湿度对于作物的生长影响巨大;在仓储物流中,保持适宜的温湿度可以延长物品的保存期限;在HVAC系统中,精…

QT子线程或自定义类操作访问主界面UI控件的几种方法

前言 QT创建窗体工程,一般在MainWindow或Dialog类里可以直接通过ui指针访问控件,但是添加新的类后又如何访问呢,可以通过以下几种方式: 将ui指针公开后直接访问 (1)例如有个自己定义的类CustomCl…

Rokid Jungle--Station pro

介绍和功能开发 YodaOS-Master操作系统:以交换计算为核心,实现单目SLAM空间交互,具有高精度、实时性和稳定性。发布UXR2.0SDK,为构建空间内容提供丰富的开发套件 多模态交互 算法原子化 多种开发工具协同 多生态支持 骁龙XR2…

代码随想录 -- day48 -- 198.打家劫舍、213.打家劫舍II 、337.打家劫舍III

198.打家劫舍 dp[i]&#xff1a;考虑下标i&#xff08;包括i&#xff09;以内的房屋&#xff0c;最多可以偷窃的金额为dp[i]。 dp[i] max(dp[i - 2] nums[i], dp[i - 1]); class Solution { public:int rob(vector<int>& nums) {if (nums.size() 0) return 0;if…

十六、Webpack常见的插件和模式

一、认识插件Plugin Webpack的另一个核心是Plugin&#xff0c;官方有这样一段对Plugin的描述&#xff1a; While loaders are used to transform certain types of modules, plugins can be leveraged to perform a wider range of tasks like bundle optimization, asset m…

系统转换-系统维护-净室软件工程-基于构件

系统转换-系统维护-净室软件工程-基于构件 系统转换系统转换系统维护净室软件工程基于构建的软件工程 系统转换 改造 继承 集成 淘汰 系统转换 直接转换 并行转换 分段转换&#xff1a;子系统之间的并行转换 系统维护 重点 净室软件工程 预防大于检查 基于构建的软件工程 复用而…

win11无法加载文件,因为在此系统上禁止运行脚本

问题背景&#xff1a; 最近升级了windows11&#xff0c;文件右键打开终端&#xff0c;默认是使用的powershell。 后面安装npm包依赖的时候&#xff0c;遇到了无法加载文件&#xff0c;因为在此系统上禁止运行脚本。 提示中可以通过访问链接查看&#xff1a;https:\go.micros…

Java笔记040-反射/反射机制、Class类

目录 反射(reflection) 一个需求引出反射 反射机制 Java反射机制原理图 Java反射机制可以完成 反射相关的主要类 反射机制的优点和缺点 反射调用优化-关闭访问检查 Class类 基本介绍 代码解释部分 类加载方法 应用实例&#xff1a;Class02.java 获取Class类对象 …

【MFC】实现简单UDP通信

创建项目&#xff0c;初始化套接字 创建一个基于对话框的MFC项目&#xff08;名称为UDP&#xff09;&#xff0c;高级功能选中Windows套接字 这个时候在CUDP类的InitInstance()方法中就会出现这样的代码用来初始化套接字 if (!AfxSocketInit()) {AfxMessageBox(IDP_SOCKETS_…

APC注入进阶“Early Bird”

序 APC注入在前面的章节已经给大家讲过&#xff0c;基本原理也是老生常谈的内容了&#xff1a; APC注入可以让一个线程在它正常的执行路径运行之前执行一些其他的代码&#xff0c;每一个线程都有一个附加的APC队列&#xff0c;他们在线程处于可警告的时候才被处理&#xff1b;…

【JAVA-Day04】Java关键字和示例:深入了解常用关键字的用法

Java关键字和示例&#xff1a;深入了解常用关键字的用法 摘要Java 关键字、标识符和命名规范一、Java 关键字常用关键字DEMO1. 示例代码使用 if 和 else 关键字&#xff1a;2. 示例代码使用 for 循环&#xff1a;3. 示例代码使用 switch 关键字&#xff1a;4. 示例代码使用 wh…

2022年第一界HiPChips解读

High Performance Chiplet and Interconnect Architectures&#xff0c;2022年6月19日&#xff0c;第一届会议&#xff08;连同第49界ISCA会议&#xff09;于美国纽约举行。 第一届会议议程及slice&#xff1a;(HiPChips Chiplet Workshop ISCA Conference)[https://www.open…

使用TCP方式拉取Canal数据

1 Canal对接Kafka联调 1.1 配置修改 canal.properties 修改 zk&#xff1a; canal.zkServers 10.51.50.219:2181instance.properties 开启配置项&#xff1a; canal.mq.dynamicTopic 是 Canal 的 MQ 动态 Topic 配置项&#xff1a; test_javaedge_01 是kafka 的 topicte…

混合云代表,青云科技QingCloud从此走向小而美之路

你有你的活法&#xff0c; 我有我的活法 只要活出自己&#xff0c; 活出个样子都是美事 【全球元观察 &#xff5c; 热点关注】 刚注意到青云科技QingCloud的最新发布2023年半年度报告&#xff0c;2023上半年同比减亏约7000万元&#xff0c;研发人员减少83人。从这两个数字…

贝wa儿歌(安卓)

本次贝wa儿歌为大家提供的是特殊版本的&#xff0c;软件需要注册登录才能才能使用VIP权限&#xff0c;安装好后&#xff0c;打开如果提示更新请点击取消&#xff0c;一定不要更新哦。 贝瓦儿歌不仅只是儿歌&#xff0c;其实有很多分类的&#xff0c;包括有国学&#xff0c;动画…

小米6/6X/米8/米9手机刷入鸿蒙HarmonyOS.4.0系统-刷机包下载-遥遥领先

小米手机除了解锁root权限&#xff0c;刷GSI和第三方ROM也是米粉的一大爱好&#xff0c;这不&#xff0c;在华为发布了HarmonyOS.4.0系统后不久&#xff0c;我们小米用户也成功将自己的手机干山了HarmonyOS.4.0系统。虽然干上去HarmonyOS.4.0系统目前BUG非常多&#xff0c;根本…

系统架构:软件工程速成

文章目录 参考第一章 概述软件工程概述软件过程 参考 软件工程速成(期末考研复试软考)均适用. 支持4K 第一章 概述 软件工程概述 定义&#xff1a;采用工程的概念、原理、技术和方法来开发与维护软件。 三要素&#xff1a; 方法&#xff1a;完成软件开发各项任务的技术方…

人工智能AI 全栈体系(二)

第一章 神经网络是如何实现的 上节描述的网络结构比较特殊&#xff0c;不具有一般性。比如前面我们讲过的权重都是1或者-1&#xff0c;这是很特殊的情况&#xff0c;实际上权重可以是任何数值&#xff0c;可以是正的&#xff0c;也可以是负的&#xff0c;也可以是带小数的。权…

网络安全岗位面试经验总结(附面试题)

思路流程: 信息收集 服务器的相关信息&#xff08;真实ip&#xff0c;系统类型&#xff0c;版本&#xff0c;开放端口&#xff0c;WAF等&#xff09; 网站指纹识别&#xff08;包括&#xff0c;cms&#xff0c;cdn&#xff0c;证书等&#xff09;&#xff0c;dns记录 whois信…