python几何图形turtle库

简介: python几何图形turtle库

python几何图形turtle库

默认初始位置在画布的正中心

turtle库画图的平面被称为画布(canvas),原点(0,0)在画布的正中央,即1/2画布高、1/2画布宽的位置。

坐标(x,y)的单位是像素。这个单位与液晶显示屏的尺寸及分辨率有关。屏幕越大,分辨率越小,像素代表的实际尺寸越大。

goto()

移动画笔函数

goto(50,-100)

dot()

画点函数

dot(5,“green”)就是画一个直径为5的绿点

点的直径的默认大小是max(画笔宽度+4,2×画笔宽度),颜色是黑色。

penup()和pendown()

抬笔函数、落笔函数

随机数

用random库。

randint()函数用于随机生成一个指定范围内的整数。

如randint(a,b)生成[a,b]之间包括a和b的整数,其中a≤b

默认画布的长为400像素,高为300像素。

setheading()和forward()

设置画笔朝向的函数是setheading(),参数为画笔的角度。

角度是以横轴正向为0°,逆时针旋转为正,顺时针旋转为负。

前移画笔一定长度的函数是forward(),括弧里参数是画笔前移的像素值。

pensize()和pencolor()

可以用函数pensize()指定画笔的宽度,单位是像素

函数pencolor()指定画笔的颜色。

hideturtle()和showturtle()

隐藏和显示turtle

left()和right()

设置画笔的相对朝向。

turtle库的left()函数用来设置画笔以当前朝向为基础逆时针旋转一定的角度;

turtle库的right()函数用来设置画笔以当前朝向为基础顺时针旋转一定的角度。

speed()

turtle库里的函数speed()用来设置画笔移动速度

画笔绘制的速度为0到10之间的整数。数字越大移动速度越快。

done()和bye()

函数done()和bye()用来关闭和退出turtle库

可以避免在使用完turtle库后继续占用计算资源和内存资源。

position()和pos()

可以通过调用函数position()或者pos()获取turtle画笔的当前坐标

fillcolor()、color()

函数fillcolor()用来设置画笔轨迹所形成图形的填充颜色。如fillcolor(“red”)表示所画图形的填充颜色设置为红色

color()函数可以用来同时设置画笔颜色和填充颜色。

如果color()里只设置一个颜色字符串,则画笔颜色和填充颜色均为该颜色;

如果color()里有两个颜色字符串,则第一个是设置画笔颜色,第二个是设置填充颜色。

begin_fill()和end_fill()

用来表示需要填充颜色的形状范围的。

在绘制要填充颜色的形状之前,调用begin_fill(),绘制填充颜色的形状完成之后调用end_fill()。

设置显示区域的大小和颜色

这个画布的可显示区域的默认大小可以使用函数screensize()获取,如图5-4所示,默认大小为(400,300)。

也可以使用函数screensize()来设置可显示区域的大小

使用函数bgcolor()或函数screensize()均可设置画布的颜色

screensize(bg = color)

backward()

画笔后退函数backward()用于实现沿着当前画笔朝向后退一定长度,画笔的朝向不变。

circle()

它的作用是用给定的半径画圆。

比如说,circle(100)就是画一个半径为100像素的圆,画笔方向默认是横轴正向,圆心在垂直于画笔方向的左侧,距离画笔100像素的地方,起点在画笔当前位置。

半径为负的时候,表示圆心在画笔运行方向的右边。

设置turtle模式

mode()

画笔的默认朝向以横轴正向为0°,逆时针旋转为正向,顺时针旋转为负向。

使用mode()函数可以返回“standard”值,获取turtle的工作模

如果将turtle的标准工作模式设为“logo”,则turtle画笔的初始朝向以纵轴正向为0°,顺时针旋转为正向,逆时针旋转为负向。

pic.mode(“logo”)

在turtle中写文字的函数

write()

函数write()在画布上写字。

函数write()的格式为: write(s,font)

s为文本内容,font是字体的参数,包括字体名称、大小和类型。

import turtle as tl
tl.write("aaaa")   # 使用默认画笔,默认字体从原点开始书写文字
tl.write("bbb", font = "楷体",15,"italic")  //字体名称,大小,字体类型
'''
宋体  黑体
bold  normal
'''

画布大小和位置的设置

在turtle库中setup()函数可以设置画布的宽、高,以及画布在电脑屏幕中的位置。

width是画布的宽,height是画布的高,在这里,输入的宽和高为整数

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

在这里,width和height是小数,表示占据电脑屏幕的比例,(startx,starty)为空时,即没有设置,则表示画布窗口位于屏幕中心。

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

math库的radians()和degrees()

函数radians()把角度值转换为弧度值;函数degrees()把弧度值转换为角度值

颜色取值

三元组(r,g,b)的取值,有两种方式:

(1)r、g、b分别取[0,255]之间的整数

(2)是r、g、b取[0,1]之间的小数。

在turtle画图中的颜色三元组支持r、g、b值取[0,1]范围的小数

对于[0,255]的数值,可以通过除以255,来得到相应[0,1]范围的值。

画圆弧

turtle库里画圆弧的函数是circle()。

circle(半径,弧度)

画圆弧时,不但需要指定圆弧的半径,还需要指定圆弧的弧度。

circle()画正多边形

circle(外接圆半径,steps= 正多边形边数)

Python自带的pdb调试工具包的使用

pdb为Python程序提供了交互式的源代码调试功能,主要包括设置断点、单步调试、进入函数调试、查看当前代码、动态改变变量的值等。

导入pdb库,加入了函数pdb.set_trace();

在调试过程中,程序会运行到pdb.set_trace()的位置处。

  • 选择n+Enter可以执行当前的代码;
  • 在第一次按下了n+Enter之后,可以直接按Enter重复执行上一条调试命令。
  • 输入list或l命令可以显示当前代码段。
  • 调试命令p用来打印当前变量的值
  • 在调试模式下,命令c可以让程序继续运行到下一个pdb.set_trace()
  • 使用命令exit可以退出调试模式。

改变画笔形状

使用turtle库的函数shape(),可以获取当前画笔的形状;

如果要改变画笔的形状,只需要给函数shape()中的输入参数赋值,shape(“turtle”)就是将画笔形状改为turtle形状。

turtle库函数汇总

math库函数汇总

相关文章
|
11月前
|
存储 人工智能 测试技术
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
本文介绍如何使用LangChain结合DeepSeek实现多轮对话,测开人员可借此自动生成测试用例,提升自动化测试效率。
2271 125
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
|
11月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
973 0
|
10月前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
680 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
10月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
939 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
12月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
712 18
|
机器学习/深度学习 API 异构计算
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
JAX是Google开发的高性能数值计算库,旨在解决NumPy在现代计算需求下的局限性。它不仅兼容NumPy的API,还引入了自动微分、GPU/TPU加速和即时编译(JIT)等关键功能,显著提升了计算效率。JAX适用于机器学习、科学模拟等需要大规模计算和梯度优化的场景,为Python在高性能计算领域开辟了新路径。
1047 0
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
|
存储 监控 安全
Python剪贴板监控实战:clipboard-monitor库的深度解析与扩展应用
本文介绍了基于Python的剪贴板监控技术,结合clipboard-monitor库实现高效、安全的数据追踪。内容涵盖技术选型、核心功能开发、性能优化及实战应用,适用于安全审计、自动化办公等场景,助力提升数据管理效率与安全性。
392 0
|
Python
Python基础教程(第3版)中文版 第12章 图形用户界面 (笔记)
Python基础教程(第3版)中文版 第12章 图形用户界面 (笔记)
255 1
在Python中,`tkinter`是一个用于创建图形用户界面(GUI)的标准库。
在Python中,`tkinter`是一个用于创建图形用户界面(GUI)的标准库。
|
Python 容器
Python与GUI编程:创建图形用户界面
Python的Tkinter库是用于构建GUI应用的内置工具,无需额外安装。它提供了丰富的控件,如按钮、文本框等,让用户通过图形界面与程序交互。创建GUI窗口的基本步骤包括:导入Tkinter库,创建窗口对象,设置窗口属性,添加控件(如标签和按钮),并使用布局管理器(如`pack()`或`grid()`)来组织控件的位置。此外,可以通过绑定事件处理函数来响应用户操作,例如点击按钮。Tkinter还有更多高级功能,适合开发复杂GUI应用。

推荐镜像

更多