当前位置: 首页 > news >正文

【干货】Python:turtle库的用法

【干货】Python:turtle库的用法

  • 1. turtle库概述
  • 2. turtle库与基本绘图
    • 2.1 导入库的三种方式
      • 2.1.1
      • 2.1.2
      • 2.1.3
    • 2.2 窗体函数
    • 2.2 画笔状态函数
      • 2.2.1 seed(s)
      • 2.2.2 random()
      • 2.2.3 randint(a, b)
      • 2.2.4 getrandbits(k)
      • 2.2.5 randrange(start, stop[ , step])
      • 2.2.6 uniform(a, b)
      • 2.2.7 choice(seq)
      • 2.2.8 shuffle(seq)
      • 2.2.9 sample(pop, k)
  • 3. 习题
  • 4. 本文代码编译环境及版本
  • 5. 更新日志
  • 6. 参考

1. turtle库概述

  • 功能:turtle(海龟)是Python重要的标准库之一,它能够进行基本的图形绘制
  • 发展:turtle图形绘制的概念诞生于1969年,成功应用于LOGO编程语言,后发展为Python标准库之一
  • 安装:turtle库无需额外安装,在Python 3 系列版本安装目录的Lib文件夹下可以找到turtle.py文件
  • 更多:turtle库的更多介绍请访问 https://docs.python.org/3/library/turtle.html

2. turtle库与基本绘图

2.1 导入库的三种方式

2.1.1

2.1.2

2.1.3

2.2 窗体函数

函数描述
pendown()放下画笔
penup()提起画笔,与pendown()配对使用
pensize(width)设置画笔线条的粗细
pencolor()设置画笔的颜色
color()设置画笔和填充颜色
begin_fill()填充图形前,调用该方法
end_fill()填充图形结束
filling()返回填充的状态,True为填充,False为未填充
clear()清空当前窗口,但不改变当前画笔的位置
reset()清空当前窗口,并重置位置等状态为默认值
screensize()设置话不窗口的宽度、高度和背景颜色
hideturtle()隐藏画笔的turtle形状
showturtle()显示画笔的turtle形状
isvisible()如果turtle可见,则返回True
write(str, font=None)输出font字体的字符串

2.2 画笔状态函数

2.2.1 seed(s)

  1. 作用:对后续产生的随机数设置种子,其中参数为种子
  2. 参数:s,随机数种子,一个整数或浮点数
  3. 优点:准确复现随机数序列,用于重复程序的运行轨迹
  4. 示例:见2.2.2

2.2.2 random()

  1. 作用:生成一个[0.0,1.0)之间的随机小数,不包括1
  2. 参数:无
  3. 其他:是random库中最基本的函数,所有其他随机函数都是基于这个函数的扩展
  4. 示例

2.2.3 randint(a, b)

  1. 作用:生成一个[a, b]之间的随机整数,随机数可能等于b
  2. 参数:a,b均为整数
  3. 记忆:random(随机)+ integer(整数)
  4. 示例

2.2.4 getrandbits(k)

  1. 作用:生成k比特长度的随机整数,其中k为二进制位数的长度
  2. 参数:k,一个整数
  3. 记忆:get(获取)+ random(随机)+ bits(比特)
  4. 示例

2.2.5 randrange(start, stop[ , step])

  1. 作用:生成一个[start, stop)之间以step为步数的随机整数,使用方法与range()类似
  2. 参数:start,整数,表示开始;stop,整数,表示结束;step,整数,表示步数
  3. 记忆:random(随机)+ range(范围)
  4. 示例

2.2.6 uniform(a, b)

  1. 作用:生成一个[a, b]之间的随机小数,随机数可能等于b
  2. 参数:a,b,整数或浮点数
  3. 示例

2.2.7 choice(seq)

  1. 作用:从序列类型中随机返回一个元素,序列类型包括列表、元组和字符串
  2. 参数:seq,一个序列类型变量
  3. 示例

2.2.8 shuffle(seq)

  1. 作用:将序列类型中的元素随机排列,返回打乱后的序列(主要为列表)
  2. 特点:由于排序后对原有变量进行重写,所以该函数不能作用于不可变序列,即主要用于列表类型
  3. 参数:seq,一个列表变量
  4. 示例

2.2.9 sample(pop, k)

  1. 作用:从pop表示的组合数据类型中随机选取k个元素,以列表类型返回。
  2. 注意pop中所含的元素要不少于k个
  3. 参数:seq,一个组合数据类型,如列表、集合、元组、字符串等;k,一个整数
  4. 示例

3. 习题

个人整理了一些Python习题与相应的解析,可见专栏:Python编程习题

4. 本文代码编译环境及版本

  1. Python IDLE
  2. Python 3.7

5. 更新日志

时间内容
2023.2.9首次发表

6. 参考

[1] 《全国计算机等级考试二级教程Python语言程序设计(2022年版)》

编辑不易,点赞收藏关注!

相关文章:

【干货】Python:turtle库的用法

【干货】Python:turtle库的用法1. turtle库概述2. turtle库与基本绘图2.1 导入库的三种方式2.1.12.1.22.1.32.2 窗体函数2.2 画笔状态函数2.2.1 seed(s)2.2.2 random()2.2.3 randint(a, b)2.2.4 getrandbits(k)2.2.5 randrange(start, stop[ , step])2.2.6 uniform(…...

信息安全与网络安全有什么区别?

生活中我们经常会听到要保障自己的或者企业的信息安全。那到底什么是信息安全呢?信息安全包含哪些内容?与网络安全又有什么区别呢?今天我们就一起来详细了解一下。什么叫做信息安全?信息安全定义如下:为数据处理系统建…...

花了5年时间,用过市面上95%的工具,终于找到这款万能报表工具

经常有粉丝问我有“哪个报表工具好用易上手?”或者是“有哪些适合绝大多数普通职场人的万能报表工具?” 从这里我大概总结出了大家选择报表工具最期望满足的3点: (1)简单易上手:也就是所谓的学习门槛要低…...

ESP32S3系列--SPI主机驱动详解(一)

一、目的SPI是一种串行同步接口,可用于与外围设备进行通信。ESP32S3自带4个SPI控制器外设,其中SPI0/SPI1内部专用,共用一组信号线,通过一个仲裁器访问外部Flash和PSRAM;SPI2/3各自使用一组信号线;开发者可以使用SPI2/3控制外部SPI…...

2023开工开学火热!远行的人们,把淘特箱包送上顶流

春暖花开,被疫情偷走的三年在今年开学季找补回来了。多个数据反馈,居民消费意愿大幅提升。在淘特上,开工开学节点就很是明显:1月30日以来,淘特箱包品类甚至远超2022年双11,成为开年“第一爆品”。与此同时&…...

Intel x86_64 PMU简介

文章目录前言一、性能监控概述二、CPUID information三、架构性能监控3.1 架构性能监控 Version 13.1.1 架构性能监控 Version 1 Facilities3.1.2 预定义的体系结构性能事件3.1.3 cmask demo测试参考资料前言 Intel 64 和 IA-32 架构提供了 PMU(Performance Monito…...

Vue (2)

文章目录1. 模板语法1.1 插值语法1.2 指令语法2. 数据绑定3. 穿插 el 和 data 的两种写法4. MVVM 模型1. 模板语法 root 容器中的代码称为 vue 模板 1.1 插值语法 1.2 指令语法 图一 : 简写 : v-bind: 是可以简写成 : 的 总结 : …...

ESP8266 + STC15基于AT指令通过TCP通讯协议获取时间

ESP8266 + STC15基于AT指令通过TCP通讯协议获取时间 如果纯粹拿32位的ESP8266模块给8位的单片机仅供授时工具使用,有点大材小用了。这里不讨论这个拿esp8266来单独开发使用。本案例只是通过学习esp8266 AT指令功能来验证方案的可行性。 🔖STC15 单片机采用的是:STC15F2K60S…...

谈谈Spring中Bean的生命周期?(让你瞬间通透~)

目录 1.Bean的生命周期 1.1、概括 1.2、图解 2、代码示例 2.1、初始化代码 2.2、初始化的前置方法和后置方法(重写) 2.3、Spring启动类 2.4、执行结果 2.5、经典面试问题 3.总结 1.Bean的生命周期 1.1、概括 Spring中Bean的生命周期就是Bean在…...

如何将VirtualBox虚拟机转换到VMware中

转换前的准备 首先需要你找到你的virtualbox以及VM安装到哪个文件夹里了,需要将这两个文件夹添加进环境变量Path中。 如果你记不清了,可以用everything全局搜索一下“VBoxManage.exe’以及“vmware-vdiskmanager.exe”,看一眼这个程序放到哪…...

洞庭龙梦(开发技巧和结构理论集)

1、经验来源,单一获取方式。进行形态等级展示。唯一游戏系统经验来源。无主线和支线剧情。2、玩家使用流通货币(充值货币),到玩家空间商城充值游戏,两人以上玩家进行游戏,掉落道具。交易系统游戏玩法&#…...

【23种设计模式】创建型模式详细介绍

前言 本文为 【23种设计模式】创建型模式详细介绍 相关内容介绍,下边具体将对单例模式,工厂方法模式,抽象工厂模式,建造者模式,原型模式,具体包括它们的特点与实现等进行详尽介绍~ 📌博主主页&…...

@Bean的处理流程,源码分析@Bean背后发生的事

文章目录写在前面关键类ConfigurationClassPostProcessor1、ConfigurationClassPostProcessor的注册2、ConfigurationClassPostProcessor的处理过程(1)parse方法中,Bean方法的处理(2)注册解析Bean标注的方法写在前面 …...

云计算——弹性云计算器(ECS)

弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"&#xff0…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...

nnUNet V2修改网络——暴力替换网络为UNet++

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...