Python教程79:关于海龟画图,Turtle模块需要学习的知识点

1.海龟画图的基本步骤:A-B-C-D-E-F

A.导入turtle模块:首先需要导入Python中的turtle模块,该模块提供了海龟绘图所需的基本函数和属性。

import turtle as t

B.设置画布大小

使用turtle.screensize()函数。该函数可以设置画布的宽度+高度+背景颜色。例如,turtle.t.screensize(900, 680, ‘red’)将画布大小设置为800像素宽、600像素高,背景颜色为红色。
使用turtle.setup()函数。该函数可以设置画布的大小+初始位置。例如turtle.setup(width=800, height=800, startx=100, starty=100)将画布大小设置为800像素宽、800像素高,初始位置为(100, 100)。
width, height:为整数时, 表示像素;
width, height:为小数时, 表示占据电脑屏幕的比例

#t.setup(width=900, height=680, startx=100, starty=100)
t.setup(width=0.8, height=0.8)

C.初始化画笔:通过设置画笔的属性,例如颜色、线条宽度等,来初始化画笔。
D.控制海龟移动:使用turtle模块提供的函数来控制海龟的移动,例如前进、后退、左转、右转等。
E.绘制图形:通过控制海龟的移动,可以绘制各种图形,例如直线、圆、多边形等。
F.结束绘图:在完成图形绘制后,需要调用turtle模块的done()函数来结束绘图并展示结果。
2.海龟画图的坐标体系:以绘图区域中心为原点,水平向右方向为X轴正方向,垂直向上方向为Y轴正方向,建立平面直角坐标系。在初始状态时,海龟位于坐标系原点的位置上。可以通过坐标来控制海龟的移动,其中绝对坐标表示海龟在坐标系中的位置,相对坐标表示海龟相对于之前自身的位置参考而移动后的位置。

3.海龟画图常用的方法

1、初始化命令

import turtle as t
t.setup()  # 画布设置(尺寸,距离)
t.bgcolor("black")  # 画布背景色(例如黑色)
t.title('微信公众号:WdPython')    #  设置画布的标题
t.screensize()  # 设置画布窗口的宽度、高度和背昱颜色

2、画笔属性方法

import turtle

# 1.画笔粗细,设置画笔线条的粗细为指定大小
# 别名turtle.width(2)
turtle.pensize(2)

# 2.画笔颜色
turtle.color('red')

# 设置RGB值的范围为255,并自定义画笔和填充颜色
turtle.colormode(255)
turtle.color((255, 0, 0))

# 3.设置画笔移动速度
# 画笔绘制的速度范围[0,10]整数,数字越大画笔速度越慢。值1~9,0最快t.speed(0)
turtle.speed(0)
# 4.隐藏画笔箭头
turtle.hideturtle()
# 5.显示海龟箭头图标
turtle.showturtle()
3.画笔运动方向控制

# 1.向前移动,沿着当前方向前进指定距离
turtle.forward()
# 别名turtle.fd()         

# 2.向后移动,沿着当前相反方向后退指定距离
turtle.backward()
# 别名turtle.bk()

# 3.画笔向右转动一定的角度
turtle.right(90)
# 别名 turtle.rt()
# 4.画笔向左转动一定角度
turtle.left(90)
# 别名 turtle.rt(angle)

# 5.抬起画笔,在新的地方作画时,别名turtle.pu()
turtle.penup()

# 放下画笔,别名turtle.pd()
turtle.pendown()

# 6.将画笔移动到指定位置,注意(0,0)处是窗口的中心
turtle.goto()

# 7.海龟的x坐标移动到指定位置,纵坐标不变
turtle.setx(100)

# 海龟的y坐标移动到指定位置,横坐标不变
turtle.sety(100)

# 8.画圆,绘制一个指定半径和角度e的圆或弧线
turtle.circle(30)
circle(50,steps=3) # 三角形
circle(120, 180) # 半圆

# 画一个圆点(实心)绘制一个指定半径和颜色的圆点
turtle.dot(50, 'red')
# 9.设置当前朝向为angle角度。画笔的指向,右是0,逆时针0-360递增
turtle.setheading()
# 别名turtle.seth()

# 10.设置当前画笔位置为原点,朝向东(默认值)
turtle.home()

4.画笔颜色控制命令


import turtle
# 1.设置填充颜色
turtle.fillcolor('颜色')

# 2.设置画笔颜色为color1,填充颜色为color2
# 可以使用颜色名称或十六进制RGB代码
turtle.color()

# 3.开始填充颜色
turtle.begin_fill()
# 填充完成,结束填充
turtle.end_fill()

# 4.设置画笔颜色
my_turtle.pencolor("#FF0000")  # 红色

# 5.返回填充的状态,True为填充。False为未填充
turtle.filling()

简单的例子:下面示例中,我们首先导入了turtle模块。然后,我们使用color()方法将画笔颜色设置为红色。接着,我们使用begin_fill()方法开始填充颜色,并使用fillcolor()方法设置填充颜色为蓝色。然后,我们使用循环绘制一个红色的矩形,并使用end_fill()方法结束填充。接下来,我们使用penup()和pendown()方法移动到另一个位置,并使用begin_fill()、fillcolor()和circle()方法绘制一个黄色的圆形,并使用end_fill()方法结束填充。最后,我们使用filling()方法检查填充状态,如果填充状态为True,则打印"True",否则打印"False"。在完成绘图后,我们调用done()方法结束绘图。
在这里插入图片描述

import turtle as t

# 设置画笔颜色为红色
t.color('red')

# 绘制一个矩形,填充颜色为蓝色
t.begin_fill()
t.fillcolor('blue')

for i in range(4):
    t.forward(100)
    t.right(90)

print(t.filling()) # True
t.end_fill()

# 绘制一个圆形,填充颜色为黄色
t.penup()
t.goto(50, 50)
t.pendown()
t.begin_fill()
t.fillcolor('yellow')
t.circle(50)
t.end_fill()

# 检查填充状态,如果填充状态为True,则打印"True",否则打印"False"
if t.filling():
    print("True")
else:
    print("False")  # False

# 结束绘图
t.done()

5.全局控制命令

# 1.清空turtle窗口,但是画笔的位置和状态不会改变)
turtle.clear()

# 2.清空turtle窗口,画笔位置等状态为初始时的默认值
turtle.reset()

# 3.撤销上一次的绘图操作
turtle.undo()

# 4.返回当前turtle是否可见
turtle.isvisible()

# 5.关闭画笔,结束绘制,但画面保留
turtle.done()

# 6.写字,字体的样式设置
turtle.write("测试文本" ,align="center",font=("楷体",18,"normal"))

完毕!!感谢您的收看

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

中小企业如何做好信息化规划?

中小企业需不需要做信息化规划?什么时候做信息化规划比较好? 企业的信息化规划,一定是越早越好,越快越好。 因为信息化是一个过程,不是一个结果,它不是一天完成的事情,而是贯穿着企业经营管理…

FPGA引脚 Bank认知--FPGA 选型的一些常识

关键字 HP I/O Banks, High performance The HP I/O banks are deisgned to meet the performance requirements of high-speed memory and other chip-to-chip interface with voltages up to 1.8V. HR I/O Banks, High Range The HR I/O banks are designed to support a wid…

用python提取PDF中各类文本内容的方法

从PDF文档中提取信息,是很多类似RAG这样的应用第一步要处理的事情,这里需要做好三件事: 提取出来的文本要保持信息完整性,也就是准确性提出的结果需要有附加信息,也就是要保存元数据提取过程要完成自动化,…

FPGA四选一的多路选择器(用三元运算符?:解决)

一. 三元运算符? :用法 ?:符号通常用于条件运算符,表示条件判断。它类似于C语言中的三元运算符,用于根据条件选择不同的操作或值。 例如,在Verilog中,条件运算符?:可以用于if-else语句的简写形式。它的一般语法格式如下&#x…

市场复盘总结 20240113

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 昨日主题投资 连板进级率 100% 二进三: 进级率低 14% 最常用的二种方法: 方法一&a…

IIC学习之SHT30温湿度传感器(基于STM32)

简介 附上SHT30资料和逻辑分析仪源文件,点击下载 关于IIC的介绍网上已经非常详尽,这里只说重点: 双线(SDA,SCL),半双工采用主从结构,支持一主多从,通过地址寻址&#…

Hologres + Flink 流式湖仓建设

Hologres Flink 流式湖仓建设 1 Flink Hologres2 实时维表 Lookup 1 Flink Hologres holo在实时数仓领域非常受欢迎,一般搭配flinkhologres来做实时数仓,中间分层用holo,上下游一般依赖于holo的binlog来下发数据 2 实时维表 Lookup Holo…

生活的再思考,写在开篇

近几年的就业行情很特别,特别是对中年人,早先网络上主流的声音是动不动总包百万,手握几个 Offer ,纠结应该去哪里。现在的主流声音变成了,被毕业优化掉后几个月都没找到合适的工作,焦虑迷茫无所适从&#x…

药物“出气”可知|ZL-005大小鼠雾化给药仪

雾化吸入给药是一种通过装置使药物进入肺部局部或全身发挥作用的给药方式。相较于口服药剂,雾化吸入给药可避免首过效应和药剂破坏,提高药物生物利用度。 而ZL-005大小鼠雾化给药仪,则是新一代小动物雾化装置的理想选择,可完成动…

你升级GPT-4了吗?,如何申请GPT-4 API?最全攻略

ChatGPT4就是ChatGPTPlus,调用接口就分ChatGPT3.5与ChatGPT4.0,如果你想使用ChatGPT4的接口就先充值ChatGPTPlus,在区ChatGPT绑定API即可调用4.0的API 在国内很多小伙伴还不知道怎么升级ChatGPT-4,因为自己只有国内的卡&#xff…

春晚为什么失去了观众?

​春晚失去了观众,这是近年来不可忽视的现象。春晚作为中国的一项传统文化活动,曾经吸引了亿万观众的眼球,但如今却面临着越来越多的挑战和质疑。那么,春晚为什么失去了观众呢? 首先,随着时代的变迁&#…

【C语言】指针进阶

指针的主题,在初阶的《指针》章节已经接触过了,我们知道了指针的概念: 指针就是个变量,用来存放地址,地址唯一标识一块内存空间。指针的大小是固定的4/8个字节(32位平台/64位平台)。指针是有类…

如何使用Imagewheel搭建一个简单的的私人图床无公网ip也能访问

文章目录 1.前言2. Imagewheel网站搭建2.1. Imagewheel下载和安装2.2. Imagewheel网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar临时数据隧道3.2.Cpolar稳定隧道(云端设置)3.3.Cpolar稳定隧道(本地设置) 4.公网访问测…

每日一题——LeetCode1200.最小绝对差

方法一 个人方法 排序一次遍历: 最小差值一定是出现在大小相邻的两个元素之间,所以将数组从小到大排序 循环求两元素之间的差值,先假设当前差值为最小差值,先往res数组里面push数据,当碰到更小差值的时候&#xff0c…

Vue-Router 路径匹配与重定向

一、效果与描述 通过设置路由匹配同时设置重定向,让输错的网址重定向到指定页面,例如在网页输入网页地址把路径进行任意修改,重定向到登录页面。 二、Vue-Router代码 import { createRouter, createWebHashHistory } from vue-routerimport …

PyCharm安装插件后重启报错:java.lang.RuntimeException

一、问题描述 某次Pycharm 安装Sourcegraph Cody插件后,重启报错:java.lang.RuntimeException: com.intellij.ide.plugins.PluginManager$StartupAbortedException: Fatal error initializing ‘com.intellij.openapi.actionSystem.ActionManager’ ,现…

Unity中URP下 SimpleLit框架

文章目录 前言一、整体框架1、该Shader是用于低端设备的2、包含一个Properties3、只有一个SubShader4、如果SubShader错误,返回洋葱紫5、调用自定义ShaderGUI面板 二、SubShader中1、Tags2、Pass 三、我们看一下ForwardLit的Pass1、混合模式、深度写入、面皮剔除、透…

Python教程44:海龟画图turtle画卡塔尔世界杯吉祥物

---------------turtle源码集合--------------- Python教程42:海龟画图turtle画海绵宝宝 Python教程41:海龟画图turtle画蜡笔小新 Python教程40:使用turtle画一只杰瑞 Python教程39:使用turtle画美国队长盾牌 Python教程38&a…

庆祝安科瑞企业微电网智慧能源管理系统生态交流会圆满举办-安科瑞 蒋静

2024年1月12日,安科瑞企业微电网智慧能源管理系统生态交流会顺利举行,本次会议旨在围绕双碳目标,共同探讨如何抓住新机遇、新市场,充分利用安科瑞企业微电网智慧能源的一站式服务,为企业节能、减碳、降本赋能&#xff…

深入类加载机制及底层

深入类加载机制 初识类加载过程 使用某个类时,如果该类的class文件没有加载到内存时,则系统会通过以下三个步骤来对该类进行初始化 1.类的加载(Load) → 2.类的连接(Link) → 3.类的初始化(In…
最新文章