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.mzph.cn/news/742575.shtml

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

相关文章

车载诊断协议DoIP系列 —— AL IPv6地址分配通用DoIP报头结构

车载诊断协议DoIP系列 —— AL IPv6地址分配&通用DoIP报头结构 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自…

深度学习进阶:揭秘强化学习原理,实战应用全解析!

作为机器学习领域的一大分支,强化学习以其独特的学习方式吸引了众多研究者和实践者的目光。强化学习,顾名思义,是通过不断地强化与环境的交互来优化决策策略。在这个过程中,智能体通过试错,根据环境给出的奖励信号来调…

逆变器功率软起斜率要求

安规说明 在NB32004中,有明确要求,有功功率调整速率不得超过正负10%Pn/min,包括起停机。 控制对象 控制功率最终是通过调整D轴电流给定来达到限制功率的目的,所以我们只要让D轴的电流给定限幅值按照10%/min增加就好了。 具体实…

媒体单位专用小记者报名及各类活动报名系统介绍

媒体单位专用小记者报名及各类活动报名系统介绍 小记者活动鼓励孩子们关注生活和社会,丰富成长体验,开启心智,淬砺思想。这不仅有助于提高他们的理性思辨力,还能培养他们的社会责任感和公民意识。小记者活动为学生提供了一个全新…

51单片机系列-单片机定时器

🌈个人主页:会编辑的果子君 💫个人格言:“成为自己未来的主人~” 软件延时的缺点 延时过程中,CPU时间被占用,无法进行其他任务,导致系统效率降低,延时时间越长,该缺点就越明显&…

考研复试C语言篇

第一章 概述 1.1什么是程序 为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的合集。 1.4C语言的特点 代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,也适用于多种机型。使允许直接访问物理地址…

供应IMX290LQR-C芯片现货

长期供应各品牌芯片现货,SONY索尼SONY索尼CMOS/CCD芯片全系列全新现货优势出: IMX225LQR-C IMX415-AAQR-C IMX290LQR-C imx273llr-C IMX397CLN-C IMX637-AAMJ-C IMX647-AAMJ-C IMX991-A***-C IMX991-AABJ-C IMX287LLR-C IMX287LQR-C IMX297L…

python可视化绘图2.0

五星红旗 import turtle import mathturtle.pensize(3) turtle.colormode(255)# 画背景 turtle.pencolor("#ed120c") turtle.fillcolor("#ed120c") turtle.begin_fill() turtle.penup() turtle.goto(-150, 100) turtle.pendown()for i in [300, 200, 300,…

Coordinate Attention(CVPR 2021)

paper:Coordinate Attention for Efficient Mobile Network Design official implementation:GitHub - houqb/CoordAttention: Code for our CVPR2021 paper coordinate attention 背景 注意力机制,已经被广泛用于提高深度神经网络的性能&…

HBuilder发行微信小程序

首先需要完善mainifest.json中的基本配置 这个需要组测dcloud才可以获取,注册后点击重新获取就可以。 然后发行前还需要完成dcloud的信息,这个他会给你网址 点击连接完成信息填写就可以了 然后就可以发行了。 发行成功后会自动跳转微信小程序&#xff…

6.Java并发编程—深入剖析Java Executors:探索创建线程的5种神奇方式

Executors快速创建线程池的方法 Java通过Executors 工厂提供了5种创建线程池的方法,具体方法如下 方法名描述newSingleThreadExecutor()创建一个单线程的线程池,该线程池中只有一个工作线程。所有任务按照提交的顺序依次执行,保证任务的顺序性…

现代化的轻量级Redis桌面客户端Tiny RDM

​欢迎光临我的博客查看最新文章: https://river106.cn 1、简介 Tiny RDM(全称:Tiny Redis Desktop Manager)是一个界面现代化的轻量级Redis桌面客户端,支持Linux、Mac和Windows。它专为开发和运维人员设计,使得与Red…

python coding with ChatGPT 打卡第22天| 二叉搜索树的操作:插入、删除、修剪、转换

相关推荐 python coding with ChatGPT 打卡第12天| 二叉树:理论基础 python coding with ChatGPT 打卡第13天| 二叉树的深度优先遍历 python coding with ChatGPT 打卡第14天| 二叉树的广度优先遍历 python coding with ChatGPT 打卡第15天| 二叉树:翻转…

SpringBoot集成对象存储服务Minio

MinIO 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从…

IP数据报格式

每一行都由32位比特,即4个字节组成,每个格子称为字段或者域。IP数据报由20字节的固定部分和最大40字节的可变部分组成。 总长度 总长度为16个比特,该字段的取值以字节为单位,用来表示IPv4数据报的长度(首部长度数据载荷长度)最大…

基于java+springboot+vue实现的停车场管理系统(文末源码+Lw)23-258

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统停车场管理系统信息管理难度大,容错率低&…

【Axure高保真原型】下拉列表切换图表

今天和大家分享通过下拉列表动态切换统计图表的原型模板,我们可以通过下拉列表选择要显示的图表,包括柱状图、条形图、饼图、环形图、折线图、曲线图、面积图、阶梯图、雷达图;而且图表数据可以在左侧表格中动态维护,包括增加修改…

《你是什么垃圾-弹幕版》

你是什么垃圾-弹幕版 类型:垃圾分类 视角:2d 乐趣点:弹幕交互,热点追踪 时间:2021 个人职责: 所有程序部分的设计开发 此游戏是某个早晨,在早点铺子吃米线的时候构思出来的。当时正是&#xff0…

bpmn-js系列之Viewer

上一篇文章『bpmn-js系列之Modeler、以及流程编辑界面的优化』介绍了bpmn-js的modeler模式下的一些开发配置,这篇文章将会介绍Viewer模式的使用 以下演示代码基于上一节搭建好的vue环境,使用bpmn版本为当前最新版7.3.0 基本使用 Viewer的使用与Modele…

【基础CSS】

本文章属于学习笔记&#xff0c;在https://www.freecodecamp.org/chinese/learn/2022/responsive-web-design/中练习 二、 CSS 样式&#xff0c;新建一个文件.css&#xff0c;该文件不含有style标签 <style>. h1&#xff0c;h2&#xff0c;p{ text-align&#xff1a;ce…