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

news2025/6/21 10:18:50

一、初步认识turtle库

        turtle 库是 Python 语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横 轴为 x、纵轴为 y 的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面 坐标系中移动,从而在它爬行的路径上绘制了图形。

        使用 turtle 库的函数之前,需要通过以下代码引用这个函数库:

        import turtle 或 from turtle import *

        turtle 库中常用的绘图函数,参见表 1- 1 turtle 库常用函数用法描述。

表 1- 1 turtle 库常用函数用法描述

二、画布(canvas)

        画布是turtle 库为我们展开用于绘图区域,我们可以设置画布的大小。

原型:

turtle.screensize(canvwidth=None,canvheight=None,bg=None)
  • 功能:设置画布的大小和背景颜色
  • 参数:canvwidth为正整型数,以像素为单位表示画布的宽度,canvheight 为正整型数,以像素为单位表示画布的高度,bg 为颜色字符串或颜色元组,用来设置背景颜色。
  • 当画布设置中没有参数,即,turtle.screensize() 时,默认设置宽度为400,高度为300,背景颜色为白色的画布。

        如果我们想要设置画布在屏幕中的初始位置,则需要使用下列代码:

turtle.setup(width,height,startx,starty)
  • 功能:设置画布在屏幕中的初始位置,以及画面大小
  • 参数:width,如为一个整型数值,表示大小为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 50%;height,如为一个整型数值,表示高度为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 75%;startx ,如为正值,表示初始位置距离屏幕左边缘多少像素,负值表示距离右边缘,None 表示窗口水平居中 ;starty ,如为正值,表示初始位置距离屏幕上边缘多少像素,负值表示距离下边缘,None 表示窗口垂直居中

三、画笔 (pen)

空间坐标体系

  默认状态下小小乌龟初始位置为画布的中心,也即原点,绝对坐标为(0,0)。

        在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝 x 轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置)面朝 x 轴正方向(方向) turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态

pencolor(colorstring)
  • 功能:设置画笔颜色为 colorstring 指定的 Tk 颜色描述字符串。 
  • 参数:colorstring为描述颜色的字符串,如"green"、"red"或"#33cc8c"之类。
pencolor(r, g, b)
  •  功能:利用红、蓝、黄,三原色自主调制想要的颜色。设置画笔颜色为以 r, g, b 元组表示的 RGB 颜色。
  • 参数:r,g,b 表示,红、蓝、黄,三原色。r,g,b 中的每一个都必须在0…colormode范围内。其中colormode是1.0或255(参见参考资料colormode())。

        颜色有三种表示方法:颜色的英语单词、十六进制颜色值、颜色的RGB值。

 表 1- 2 turtle 库关于画笔的常用函数

turtle.circle(radius, extent=None, steps=None)
  • 功能:画圆
  • 参数:radius ,表示圆的半径;extent ,一个数值 (或 None):extent 为一个夹角,用来决定绘制圆的一部分。steps 为 整型数 (或 None):做半径为radius的圆的内切正多边形,多边形边数为steps
角度坐标体系 

        以海龟为中心,顺时针方向一周为 0 ~ -360°,逆时针方向一周为 0 ~ 360°。

turtle.seth(angle)
  • 功能:表示小乌龟启动时运动的方向。
  • 参数:angle 表示角度值,0°表示向 轴正方向,180°表示 轴的负方向,90°表示 轴正方向,270°表示 轴负方向,负值表示相反方向 。

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

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

相关文章

如果编程语言是一种武器……

对程序员来说,编程语言就是武器,但有的武器好用,有的武器不好用,有的武器甚至会杀了自己 C语言是M1式加兰德步枪,很老但可靠。 C是双截棍,挥舞起来很强悍,很吸引人,但需要你多年的磨…

Ubuntu平铺左、右、上、下、1/2、1/4窗口(脚本)

前言 之前因为一直在用Ubuntu 18或者Ubuntu 20然后发现装了GNOME插件后,电脑在使用过程中,会时不时的卡死(鼠标没问题,键盘输入会有10-20秒的延迟)频率基本是一小时一次,因为这种卡顿会很容易打断思路&…

攻防世界-MISC-EASY_EVM

题目链接:攻防世界 (xctf.org.cn) 下载附件得到info.txt: pragma solidity ^0.5.0; ABI: [ { "inputs": [], "payable": true, "stateMutability": "payable", "type": "constructor" }, {…

基于单片机的RFID门禁系统设计

目 录 摘 要 I Abstract II 引 言 1 1 控制系统设计 3 1.1 主控制器选择 3 1.2 项目总体设计 3 2 项目硬件设计 5 2.1 单片机控制模块 5 2.2 射频识别模块 8 2.3 矩阵键盘模块 9 2.4 液晶显示模块 10 2.5 报警模块 11 2.6 AT24C02存储模块 12 2.7 继电器驱动模块 13 2.8 总电路…

【ubuntu】安装 Anaconda3

目录 一、Anaconda 说明 二、操作记录 2.1 下载安装包 2.1.1 官网下载 2.1.2 镜像下载 2.2 安装 2.2.1 安装必要的依赖包 2.2.2 正式安装 2.2.3 检测是否安装成功 方法一 方法二 方法三 2.3 其他 三、参考资料 3.1 安装资料 3.2 验证是否成功的资料 四、其他 …

数据结构之八大排序

𝙉𝙞𝙘𝙚!!👏🏻‧✧̣̥̇‧✦👏🏻‧✧̣̥̇‧✦ 👏🏻‧✧̣̥̇:Solitary_walk ⸝⋆ ━━━┓ - 个性标签 - :来于“云”的“羽球人”。…

数列操作1——栈+前缀和,典型例题,值得一看

题目描述 先给定一个长度为n数列,再给定m个操作,现在需要维护五个操作: 1 x:在光标的前面插入一个数字x。 2:删除光标前的最后一个数字,如果光标前没有数字则忽略。 3:左移一格光标&#xf…

【Python】7. 基础语法(5) -- 文件+库+习题篇

文件 文件是什么 变量是把数据保存到内存中. 如果程序重启/主机重启, 内存中的数据就会丢失. 要想能让数据被持久化存储, 就可以把数据存储到硬盘中. 也就是在 文件 中保存 在 Windows “此电脑” 中, 看到的内容都是 文件. 文件夹(目录)也是一种特殊的文件->目录文件 通过…

关于装载类子系统

装载类子系统 类加载器字节码调节器类加载运行时数据区 类加载器 将class文件加载进jvm的方法去,并在方法去中创建一个java.lang.Class对象作为外界访问这个类的接口。实现这个动作的代码模块称为类加载器。 类加载器分类 启动类加载器(Bootstrap C…

qt带后缀单位的QLineEdit

QLineEditUnit.h #pragma once #include <QLineEdit> #include <QPushButton>class QLineEditUnit : public QLineEdit {Q_OBJECT public:QLineEditUnit(QWidget* parent Q_NULLPTR);~QLineEditUnit();//获取编辑框单位QString UnitText()const;//设置编辑框单位…

ubuntu自带屏幕截图功能

目录 简介开始截屏步骤1.打开截屏软件2.选择区域3.截图 快捷键 录屏方法11.开始录屏2.停止录屏 方法2 补充说明 简介 试了好多开源跨平台截图软件&#xff0c;但是在ubuntu上都或多或少存在问题。ubuntu有自带的截图软件。打算把ubuntu自带的截图软件用起来。 顺便说一下我使…

JavaScript数组方法常用方法大全

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1. push()2. pop()3. unshift()4. shift()5. isArray()6. map()7. filter()8. every()9. some()10. splice()11. slice()12. indexOf()13. includes()14. concat()1…

Vue+SpringBoot打造木马文件检测系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 木马分类模块2.3 木马软件模块2.4 安全资讯模块2.5 脆弱点模块2.6 软件检测模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 木马分类表3.2.2 木马软件表3.2.3 资讯表3.2.4 脆弱点表3.2.5 软件检测表…

【Python】新手入门:变量的作用域是什么?有哪几种作用域?作用域的查找顺序是什么?

【Python】新手入门&#xff1a;变量的作用域是什么&#xff1f;有哪几种作用域&#xff1f;作用域的查找顺序是什么&#xff1f; &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基…

Django添加app

Django添加App python manage.py startapp [app_name]快速上手 注册app&#xff0c;setting.py 编写url和视图的对应关系 添加视图函数 命令行启动 python manage.py runserver页面模板

循序渐进丨MogDB 数据库新特性之SQL PATCH绑定执行计划

1 SQL PATCH 熟悉 Oracle 的DBA都知道&#xff0c;生产系统出现性能问题时&#xff0c;往往是SQL走错了执行计划&#xff0c;紧急情况下&#xff0c;无法及时修改应用代码&#xff0c;DBA可以采用多种方式针对于某类SQL进行执行计划绑定&#xff0c;比如SQL Profile、SPM、SQL …

详解前端登录流程:实现原理与最佳实践

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

考研复习C语言初阶(3)

目录 一.函数是什么? 二.C语言中函数的分类 2.1库函数 2.2自定义函数 三.函数的参数 3.1实际参数&#xff08;实参&#xff09; 3.2 形式参数&#xff08;形参&#xff09; 四.函数的调用 4.1 传值调用 4.2 传址调用 五. 函数的嵌套调用和链式访问 5.1 嵌套调用 5…

使用Python编写简单学生管理系统

学完python基础&#xff0c;把学过的知识运用起来做一个简单的学生管理系统 1、需求分析 需求&#xff1a;进入系统显示系统功能界面&#xff0c;功能如下&#xff1a; ① 添加学员信息 ② 删除学员信息 ③ 修改学员信息 ④ 查询学员信息(只查询某个学员) ⑤ 遍历所有学…

专家院士共同参编的《数字空间共同体白皮书》正式启动

数字产业化、产业数字化&#xff0c;促进数字技术和实体经济深度融合&#xff0c;成为数字经济高质量发展的重要路径。数字空间与物理空间双向融合&#xff0c;用数字技术提升企业有限资源的有效配置&#xff0c;构建经济双空间增长模式&#xff0c;是形成企业新质生产力的关键…