Python学习日记之学习turtle库(下 篇)

前言:

        书接上篇,我们继续来了解Python内置库 turtle功能库。在前面的文章中,我们初步的了解了一下 turtle库,画布和画笔相关的函数,那么我们继续来深入了解一下吧。

详情见:

Python学习日记之学习turtle库(上 篇)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/Isaiah_Cohen/article/details/136581082?spm=1001.2014.3001.5501

一、画笔函数的控制指令

        在Python内置库 turtle是一个专门用于绘画的功能库,其中有一类专门用于绘画的指令函数。

表1 - 1 认识控制指令及其功能

指令别称说明
turtle.penup()

turtle.up()

turtle.pu()

笔从屏幕上拉起来,它在移动到另一个位置或方向时不提供任何绘图
 turtle.pendown()

 turtle.pd()

 turtle.down()

将拉起的画笔落回画布
turtle.isdown()检查画笔是否已经落下
turtle.fillcolor('color')该方法用于返回或设置填充色。如果turtleshape是一个多边形,那么该多边形的内部将用新设置的填充色绘制
turtle.color('pencolor', 'fillcolor')设置画笔颜色和填充颜色。如果只有一个颜色则画笔颜色和填充颜色相同。如果是两种颜色,则前者是画笔颜色,后者是填充颜色
turtle.filling()检查图形是否为填充状态
turtle.begin_fill()开始填充,这个方法用于在绘制一个要填充的形状之前调用,它不接受任何参数。
turtle.end_fill()结束填充,该方法用于填充调用begin_fill()后绘制的形状
turtle.hideturtle()turtle.ht()这个方法是用来使Turtle隐身的。当你正在进行复杂的绘图时,这样做是个好主意,因为隐藏Turtle会明显加快绘图速度。这个方法不需要任何参数
turtle.showturtle()turtle.st()该方法用于将隐藏起来的turtle使其可见。它不需要任何参数。
turtle.clear()这个功能是用来删除屏幕上的Turtle图画。Turtle的不移动状态和位置以及其他Turtle的绘图不受影响。它不需要任何参数。
turtle.reset()这个函数用来删除turtle的图画并恢复其默认值。它不需要任何参数。
turtle.undo()

这个函数用来撤消(重复)最后一个turtle动作。可用的撤销动作的数量由撤销缓冲区的大小决定。它不需要任何参数。

turtle.isvisible()检查画笔是否可见
turtle.shape()该函数用于将Turtle形状设置为具有给定名称的形状,如果没有给定名称,则返回当前形状的名称。
turtle.stamp()该方法用于在画布上印制一个turtle形的副本,相当于印章,并返回其ID。它不需要任何参数。不管turtle的形状是什么,它都会在这一点上被打印出来,然后继续下一个指令。
turtle.clearstamp()清除当前印章
turtle.clearstamps()清除全部印章
turtle.write(s [,font=('font_name',font_size,'font_type')])该函数用于在当前 turtle 位置书写文本,s为文本内容,字体font是可选项,其名称,大小和类型等参数也是可选项

二、关于turtle库绘图练习

        在练习之前我们先明确一个小知识,在使用Python turtle画图时,画完图形窗口一下子退出消失怎么办,如何能够停留在画完的窗口呢?

退出窗口停滞的解决方法

        程序退出画图界面的原因,本质上来说就是程序执行完成,程序结束窗口也随着程序一并结束。其实是解决的方法很简单,只要我们能够想办法让程序在画完图片后,不退出就好了。        

        turtle提供了几个可以让窗口一直保持着的方法:

  • 第一种方法:在程序的最后面加上:turtle.exitonclick(),让程序等待用户点击界面后才能够退出
  • 第二种方法:在程序的最后面加上:turtle.mainloop(),该语句必须放到最后一句,该句子后面的所有代码都无法执行
  • 第三种方法:在程序的最后面加上:turtle.done(),该语句的功能和mainloop()差不多。
绘制一个彩色正方形

代码

import turtle
from turtle import * # turtle库的调用
pensize(2) # 选择画笔大小
pencolor("red") # 选择画笔颜色
color = ["green","red","pink","blue"] # 对颜色进行一一枚举
for i in range(200): # 进行4次循环turtle.forward(i*2) # 向前前进100个像素pencolor(color[i%4])# 设置画笔颜色turtle.right(90)# 由前进方向,向右转90°
turtle.done() # 窗口停滞

运行结果

 

六芒星 

代码:

from turtle import *
def triangle():pensize(2)pencolor('black')for i in range(3):fd(60)right(120)def main():colors=['green','red','yellow','pink','purple','orange']speed(7)for i in range(6):begin_fill()fillcolor(colors[i])triangle()fd(60)  #以坐标系为基准,左转60°left(60)end_fill()#填充中心颜色fillcolor("blue")begin_fill()for i in range(6):fd(60)left(60)end_fill()ht()#隐藏画笔
main()
done()

 运行结果

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

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

相关文章

练习3-softmax分类(李沐函数简要解析)与d2l.train_ch3缺失的简单解决方式

环境为:练习1的环境 网址为:https://www.bilibili.com/video/BV1K64y1Q7wu/?spm_id_from333.1007.top_right_bar_window_history.content.click 代码简要解析 导入模块 导入PyTorch 导入Torch中的nn模块 导入d2l中torch模块 并命名为d2l import torch from torch import nn…

Pytorch学习 day07(神经网络基本骨架的搭建、2D卷积操作、2D卷积层)

神经网络基本骨架的搭建 Module:给所有的神经网络提供一个基本的骨架,所有神经网络都需要继承Module,并定义_ _ init _ _方法、 forward() 方法在_ _ init _ _方法中定义,卷积层的具体变换,在forward() 方法中定义&am…

SpringBoot整合Redis实现分布式锁

SpringBoot整合Redis实现分布式锁 分布式系统为什么要使用分布式锁? 首先,分布式系统是由多个独立节点组成的,这些节点可能运行在不同的物理或虚拟机器上,它们通过网络进行通信和协作。在这样的环境中,多个节点可能同…

UnityShader常用算法笔记(颜色叠加混合、RGB-HSV-HSL的转换、重映射、UV序列帧动画采样等,持续更新中)

一.颜色叠加混合 1.Blend混合 // 正常,透明度混合 Normal Blend SrcAlpha OneMinusSrcAlpha //柔和叠加 Soft Additive Blend OneMinusDstColor One //正片叠底 相乘 Multiply Blend DstColor Zero //两倍叠加 相加 2x Multiply Blend DstColor SrcColor //变暗…

论文研读笔记1:

1.Improving Domain-Adapted Sentiment Classification by Deep Adversarial Mutual Learning: 1.1本篇论文提出了一种名为深度对抗性互学习(Deep Adversarial Mutual Learning, DAML)的新方法,用于改进领域适应性情感分类。 对…

Python快速入门系列-1

Python快速入门系列 第一章: Python简介1.1 Python的历史与发展1.2 Python的优势与特点1.2.1 易学易用1.2.2 动态类型1.2.3 丰富的标准库与第三方库1.2.4 面向对象与函数式编程1.2.5 广泛应用领域 1.3 Python的应用领域 第一章: Python简介 1.1 Python的历史与发展 Python是一…

Winform窗体随着屏幕的DPI缩放,会引起窗体变形及字体变形,superTabControl标签字体大小不匹配

一、前言 superTabControl做的浏览器标签(cefsharp)在缩放比例(125%,150%时字体不协调) 物联网浏览器,定制浏览器,多媒体浏览器(支持H264)参考栏目文章即可 二、配置参数 app.manifest参数 dpiAware =true <application xmlns="urn:schemas-microsoft-c…

ComfyUI-Flowty-TripoSR

这是一个自定义节点&#xff0c;可让您直接从ComfyUI使用TripoSR。TripoSR 是由 Tripo AI 和 Stability AI 合作开发的最先进的开源模型&#xff0c;用于从单个图像快速前馈 3D 重建。&#xff08;TL;DR 它从图像创建 3d 模型。这篇文章主要介绍了将TripoSR作为ComfyUI节点的配…

Git 入门

Git 入门 版本控制 什么是版本控制 版本控制是一种记录一个或若干文件内容变化&#xff0c;以便将来查阅特定版本修订情况的系统。 除了项目源代码&#xff0c;你可以对任何类型的文件进行版本控制。 为什么要版本控制 有了它你就可以将某个文件回溯到之前的状态&#xff…

JVM——执行引擎

文章目录 1、概述2、计算机语言的发展史2.1、机器码2.2、汇编语言2.3、高级语言2.4、字节码 3、Java代码编译和执行过程4、解释器5、JIT编译器5.1、为什么HotSpot VM同时存在JIT编译器和解释器5.2、热点代码探测确定何时JIT5.3、设置执行模式5.4、C1编译器和C2编译器 6、AOT编译…

想到2024年最有前景的副业创业机会?那这个项目你绝对不能错过!

大家好&#xff0c;我是电商花花。 现在看到别人要么都有自己的副业&#xff0c;要么都在做创业项目&#xff0c;你是不是也看的激情澎湃&#xff0c;想要做抖音小店&#xff0c;想要创业赚钱。 2024年做什么副业、创业有盼头&#xff1f;我觉得还得是抖音小店无货源这个电商…

【异常处理】sbt构建Chisel库时出现extracting structure failed:build status:error的解决办法

文章目录 报错背景&#xff1a;解决思路&#xff1a;①IDEA中配置本地的SBT进行下载②更改下载源为华为的镜像站1. 修改sbtconfig.txt2. 增加repositories文件 ③查看报错信息 总结整理的Scala-Chisel-Chiseltest版本信息对应表 报错背景&#xff1a; 最近在写Chisel时&#x…

机器学习--循环神经网络(RNN)1

一、简介 循环神经网络&#xff08;Recurrent Neural Network&#xff09;是深度学习领域中一种非常经典的网络结构&#xff0c;在现实生活中有着广泛的应用。以槽填充&#xff08;slot filling&#xff09;为例&#xff0c;如下图所示&#xff0c;假设订票系统听到用户说&…

【Pytorch】进阶学习:基于矩阵乘法torch.matmul()实现全连接层

【Pytorch】进阶学习&#xff1a;基于矩阵乘法torch.matmul()实现全连接层 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448…

sentinel docker 基础配置学习

1&#xff1a;去官网下载 Releases alibaba/Sentinel GitHub 2&#xff1a;保存到linux 3&#xff1a;编写dockerfile FROM openjdk:8-jreLABEL authors"xxx" #第二步创建一个文件夹Z RUN mkdir /app #第三步复制jar 到app 下 COPY xxxxxx-1.8.7.jar /app/#第四…

原油数据处理:1.聚类、盐含量测定与近红外光谱快速评估

一、原油种类的聚类分析 在塔里木盆地塔河油田的原油处理过程中&#xff0c;需要对原油进行地球化学特征研究&#xff0c;以了解其成因和特征。根据地球化学手段的综合研究结果&#xff0c;塔河油田奥陶系原油属于海相沉积环境&#xff0c;成熟度较高&#xff0c;正构烷烃分布…

有点NB的免费wordpress主题模板

一个不错的黄色模板&#xff0c;用WP免费主题模板搭建家政服务公司网站。 https://www.wpniu.com/themes/15.html

c++ 常用的STL

前言 写这篇博客目的是为了记录在刷算法题中使用过的STL&#xff0c;因为有些不太常用的会遗忘。这篇博客只是作为笔记&#xff0c;不是详细的STL&#xff0c;因此只会对常用方法说明&#xff0c;不会详细介绍。此外在后面用到新的STL内容时会再补充。 列队 基础列队 基本列…

【linuxC语言】dup、dup2函数

文章目录 前言一、dup函数二、dup2函数三、将标准输出重定向到文件总结 前言 在Linux环境下&#xff0c;dup、dup2以及原子操作都是用于文件描述符管理和处理的重要工具。这些功能提供了对文件描述符进行复制和原子操作的能力&#xff0c;使得在多线程或多进程环境中更加安全和…

FPGA高端项目:FPGA基于GS2971的SDI视频接收+HLS图像缩放+多路视频拼接,提供4套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案的SDI接收转HDMI输出应用本方案的SDI接收图像缩放应用本方案的SDI接收纯verilog图像缩放纯verilog多路视频拼接应用本方案的SDI接收OSD多路视频融合叠加应用本方案的SDI接收HLS多路视频融合叠加应用本方案…