会画画的海龟,Python Turtle库详解(27

小朋友们好,大朋友们好!

我是猫妹,一名爱上Python编程的小学生。

欢迎和猫妹一起,趣味学Python。

今日主题

介绍下Python的turtle库,这是一个可以画画的库,非常适合小孩子在屏幕上画画。

先学习基础知识,下面三个有趣的程序都是turtle做的,漂亮吗?

LOGO语言

LOGO语言“logo”一词源于希腊文,原意为“文字”或“思考”、“想法”。

是一种过程性语言,是在1967年由美国麻省理工学院(MIT)佩帕特(Seymour Papert)教授指导下的一个研究小组在LISP语言基础上,专门为儿童研制开发的编程语言。

Logo语言虽然结构简单、却有丰富的表达方式,体现了现代计算机科学许多最新概念。

在LOGO的世界里,人们可以通过编程输入指令,让小海龟在画面上走动,向左右上下,或者按照设定的角度移动,或者重复做某一件事情。

简单的绘图指令,加上判断、循环等程序设计方法,可以绘制出美丽的图案,比如人物、动物、植物、抽象画等等。

turtle库

Python内置了turtle库,借鉴了LOGO语言海龟画图的所有绘图功能。

画布(canvas)

所谓画布,就是将这些东西都存放在一个位置进行设定,方便展开绘画的区域。

常见的方式有两种:

turtle.screensize(canvwidth=None, canvheight=None, bg=None)

三个参数,分别是设置画布的宽、高及背景样式的操作,在使用的时候,宽的单位为像素

比如:

turtle.screensize(600, 400, "green")

turtle.screensize() #返回默认大小(400, 300)

turtle.setup(width=0.5, height=0.75, startx=None, starty=None)

前面两个参数是设置画布的宽和高的,当它们为整数的时候表示的是像素,如果是小数就表示当前使用电脑的屏幕比例。

后面两个参数设置的是矩形窗口顶点的位置,当值为空时,默认窗口会在屏幕的中间出现。

比如:

turtle.setup(width=0.6, height=0.6)

turtle.setup(width=800, height=800, startx=100, starty=100)

绘图屏幕坐标系

画笔

turtle.shape("turtle")可指定画笔的形状

classic,arrow,tutle(缺省默认值),circle,square,triangle

turtle.pensize():设置画笔的宽度。

turtle.speed():画笔的移动速度,范围为0到无穷大。

turtle.pencolor():设置获取画笔颜色。

绘图控制

向前移动:tutle.forward(distance),tutle.fd(distance)

向后移动:tutle.backward(distance),tutle.bk(distance)

向左旋转:tutle.left(angle),tutle.lt(angle)

向右旋转:tutle.right(angle),tutle.rt(angle)

向左旋转角度:tutle.seth(angle)

画笔运动命令

tutle.forward(distance),tutle.fd(distance)

tutle.backward(distance),tutle.bk(distance)

tutle.left(angle),tutle.lt(angle)

tutle.right(angle),tutle.rt(angle)

tutle.pendown(),pd(),down():画笔落下,移动时绘制图形,缺省值

tutle.goto(x,y):画笔移动到(x,y)

tutle.penup(),pu(),up():画笔抬起,移动时不绘制图形

tutle.setx():将当前x轴移动到指定位

tutle.sety():将当前y轴移动到指定位置

tutle.setheading(angle),tutle.seth():设置当前朝向为angle的角度

tutle.home():设置画笔位置到原点,朝向东

画笔设置命令

tutle.pensize(width):画笔宽度

tutle.pencolor(colorstring):画笔颜色

tutle.colormode(mode):改变颜色生成模式

tutle.fillcolor(colorstring):绘制图形填充颜色

tutle.color(color1,color2):同时设置pencolor=color1,fillcolor=color2

tutle.filling():返回当前是否在填充装填

tutle.begin_fill():准备开始填充图形

tutle.end_fill():填充完成

tutle.hideturle():隐藏画笔形状

tutle.showturle():显示画笔形状

画笔控制命令

tutle.clear():清空turle窗口,但turtle位置和状态不改变

tutle.reset():清空窗口,重置turtle状态为起始状态

tutle.undo():撤销上一个turtle动作

tutle.isvisable():返回当前turtle是否可见

tutle.stamp():复制当前图形

tutle.write(s,font):写文本s,字体是font

tutle.dot(r,color):绘制一个指定直径和颜色的原点

tutle.circle(radius,extents,steps):以给定半径画圆,半径radius为正(负),表示圆心在画笔的左边(右边)画圆

其他高级命令

tutle.done():程序暂停,直到用户关闭。一般是最后一个语句

tutle.mode(mode=None):设置standard,logo,world

tutle.delay(delay=None):设置或返回以毫秒为单位的绘图延迟

tutle.begin_poly():开始记录多边形的顶点

tutle.end_poly():停止记录多边形的顶点

tutle.get_poly():返回最后记录的多边形

模式‘standard’与turtle.py兼容。

模式‘logo’与大多数Logo-Turtle-Graphics兼容。

模式‘world’使用用户定义的‘worldcoordinates’。

怎么样?

有趣吧?

好了,我们今天就学到这里吧!

如果遇到什么问题,咱们多多交流,共同解决。

我是猫妹,咱们下次见!

查看全文

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

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

相关文章:

会画画的海龟,Python Turtle库详解(27)

小朋友们好,大朋友们好!
我是猫妹,一名爱上Python编程的小学生。
欢迎和猫妹一起,趣味学Python。
今日主题
介绍下Python的turtle库,这是一个可以画画的库,非常适合小孩子在屏幕上画画。
先学习基础知……

ggplot2中1单位线条和字体的究竟相当于多少pt?

ggplot2为我们提供了绘制出版级的绘图的平台。出版级绘图要求高,比如很多期刊就要求图片中的线条粗细不能小雨0.5pt,同时不能大于1.5pt.
但是ggplot2中的linewidth(新版本) 或者 size函数(老版本)中的1单位(size units)究竟等于word或者说adobe中的多少磅呢?
这个网上……

Redis的五种数据类型及应用场景

Redis是一个开源的key-value数据库。
五种数据类型
String,List, Set,SortedSet,Hash
List类型可以存储多个String。 Set类型可以存储不同的String。 SortedSet可以存储String的排序。 Hash可以存储多个key-value对。
String ……

Minikube安装、运行

1.Minikube是什么
本地的k8s集群,方便开发者学习k8s。
2.安装的前提条件
2个CPU货以上。2G内存或以上。20G磁盘或以上。可以链接互联网。安装docker(官网说或者一个虚拟环境,这个不考虑)。
3.官网地址
minikube start | minik……

HTML5 <figure> 标签、HTML5 <footer> 标签

HTML5 <figure> 标签 实例
使用 <figure> 元素标记文档中的一个图像:
<figure><img src"img_pulpit.jpg" alt"The Pulpit Rock" width"304" height"228">
</figure>尝试一下 浏览器支持 ……

客户端功能-关注、预约、收藏等AB行为开发实战

目录
1.业务介绍
2.实现方案 1.业务介绍
1.关注
用户A对用户B进行了关注行为,用户B 的粉丝列表就有用户A了,用户A的关注列表就有用户B了。
2.预约
用户A对直播B进行了预约行为,直播B的预约人列表就有了用户A了,用户A的直播预……

ios 截屏上传需知

可以通过capture 进行截屏 不需要顶部状态栏 也就是电池电量 信号啥的那个栏位 直接截屏出来的 不然 上传之后会报错 之前 不过还是需要按照提示的尺寸上传 设备尺寸或平台 截屏尺寸 要求 截屏源 6.7 英寸:iPhone 14 Pro Max 1290 x 2796 像素(竖屏……

c++11 标准模板(STL)(std::unordered_multimap)(十三)

定义于头文件 <unordered_map>
template< class Key, class T, class Hash std::hash<Key>, class KeyEqual std::equal_to<Key>, class Allocator std::allocator< std::pair<const Key, T> > > class unordered……

python实战应用讲解-【numpy科学计算】scikits-statsmodels模块(附python示例代码)

目录
Numpy 安装scikits-statsmodels
具体步骤
用scikits-statsmodels做正态性检验
具体步骤
攻略小结 Numpy 安装scikits-image
具…

【全球变暖】蓝桥杯第九届C++B组I题

题目描述: 思路分析: 1、考虑一共有多少连通块。 2、统计有多少连通块会被完全淹没掉。 如何判断一个连通块有没有被淹没? 一共有total块陆地,其中有bound块是和海相连的。 如果total bound则这个岛屿会被淹没 如何统计total和bo……

【Java开发】设计模式 12:解释器模式

1 解释器模式介绍
解释器模式是一种行为型设计模式,它提供了一种方法来解释语言、表达式或符号。
在该模式中,定义了一个表达式接口,并实现了对应的表达式类,这些类可以解释不同的符号组成的表达式,从而实现对语言的……

反序列化渗透与攻防(五)之shiro反序列化漏洞

Shiro反序列化漏洞
Shiro介绍
Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性
Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默……

vue2+vue3

vue2vue3尚硅谷vue2vue2 课程简介【02:24】vue2 Vue简介【17:59】vue2 Vue官网使用指南【14:07】vue2 搭建Vue开发环境【13:54】vue2 Hello小案例【22:25】了解: 不常用常用:id 更常用 简单class差值总结vue 实例vue 模板 : 先 取 &#xff0……

【hello Linux】环境变量

目录 1. 环境变量的概念 2. 常见的环境变量 3. 查看环境变量 4. 和环境变量相关的命令 5. 环境变量的组织方式 6. 通过代码获取环境变量 7. 通过系统调用获取环境变量 Linux🌷 在开始今天的内容之前,先来看一幅图片吧! 不知道你们是否和我一……

【Linux基础】常用命令整理

ls命令
-a选项,可以展示隐藏的文件和文件夹-l选项,以列表形式展示内容-h,需要和-l搭配使用,可以展示文件的大小单位ls -lah等同于la -a -l -h
cd命令(change directory)
语法:cd [Linux路径]……

客快物流大数据项目(一百一十二):初识Spring Cloud

文章目录
初识Spring Cloud
一、Spring Cloud简介
二、SpringCloud 基础架构图…

C和C++中的struct有什么区别

区别一: C语言中: Struct是用户自定义数据类型(UDT)。 C语言中: Struct是抽象数据类型(ADT),支持成员函数的定义。
区别二:
C中的struct是没有权限设置的&#xff0c……

docker的数据卷详解

数据卷 数据卷是宿主机中的一个目录或文件,当容器目录和数据卷目录绑定后,对方修改会立即同步
一个数据卷可以同时被多个容器同时挂载,一个容器也可以被挂载多个数据卷
数据卷作用:容器数据持久化 /外部机器和容器间接通信 /容器……

13、Qt生成dll-QLibrary方式使用

Qt创建dll,使用QLibrary类方式调用dll
一、创建项目
1、新建项目->其他项目->Empty qmake Project->Choose 2、输入项目名,选择项目位置,下一步 3、选择MinGW,下一步 4、完成 5、.pro中添加TEMPLATE subdirs&#xff……

基于mapreduce 的 minHash 矩阵压缩

Minhash作用: 对大矩阵进行降维处理,在进行计算俩个用户之间的相似度。
比如: 俩个用户手机下载的APP的相似度,在一个矩阵中会有很多很多的用户要比较没俩个用户之间的相似度是一个很大的计算任务 如果首先对这个矩阵降维处理&am……

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注