海龟编程 python绘图工具turtle库的用法 turtle库使用方法大全,画笔设置 画布设置 绘图设置,画笔粗细,画笔颜色, 画笔速度。

简介: 海龟编程 Python绘图工具trutle库的使用方法 trutle库命令大全,总结了常用命令,学会这些命令,玩转turtle库

海龟编程 Python绘图工具trutle库的使用方法
trutle库,因绘图界面有个小海龟当画笔被称为海龟编程,是Python用来绘画绘图使用的库,可以绘制动漫角色,统计图等一些简单的平面图。命令也比较灵活,使用简单。也是考Python计算机二级中必须要会的Python库。

使用前,需先在Python中导入trutle库。

import turtle
画布:
画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置

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

turtle.screensize(800,600,”green”) #画布的宽,高,画布颜色

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

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

turtle.pencolor() 传入参数可设置画笔的颜色,可以是字符串”green”,”red”,也可以RGB 3元组,不传入参数则返回当前画笔的颜色

turtle.speed() 设置画笔的移动速度,画笔绘制的速度范围[0,10]的整数,数字越大越快

画笔运动命令:
画笔运动命令大学学习时务必牢记,很常用的

turtle.forward(distance) 向当前画笔方向移动distance像素长

turtle.backward(distance) 向当前画笔相反方向移动distance像素长度

turtle.right(degree) 顺时针移动degree°

turtle.left(degree) 逆时针移动degree°

turtle.seth(angle) 只改变海龟的行进方向(角度按逆时针),但不行进,angle为绝对度数

turtle.pendown() 移动时绘制图形,缺省时也会绘制。落笔

turtle.penup() 移动时不绘制图形,用于换个地方绘制时使用,提笔

turtle.goto(x,y) 将画笔移动到坐标为x,y的位置

turtle.speed() 画笔绘制的速度范围[0,10]整数,建议加在前面

turtle.circle() 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆

画笔的控制命令:
turtle.pensize(width) 绘制图形时的宽度

turtle.pencolor() 画笔颜色

turtle.fillcolor(colorstring) 绘制图形的填充颜色

turtle.color(color1,color2) 同时设置pencolor=color1,fillcolor=color2 设置画笔颜色和填充颜色

turtle.filling() 返回当前状态是否在填充状态

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

turtle.end_fill() 填充完成

turtle.hideturtle() 隐藏箭头显示

turtle.showturtle() 与hideturtle()函数对应

全局控制命令:
print(turtle.pos()) 获取鼠标当前位置并输出turtle.clear() 清空turtle窗口,但是turtle的位置和状态不会改变turtle.reset() 清空窗口,重置turtle状态为起始状态turtle.undo() 撤销上一个turtle动作turtle.isvisible() 返回当前turtle是否可见stamp() 复制当前图形turtle.write(s[,font=(“font-name”,font_size,”font_type”)])

turtle.write("华哥最帅")
写文本,s为文本内容,font是字体参数,里面分别为字体大小和类型;font为可选项,font的参数也是可选项

turtle.exitonclick() 画完后不关闭窗口,点击界面后就会退出,退出后执行后续程序turtle.done() 画完后不关闭窗口,但是后面的程序无法执行,关闭窗口后才会执行

常见的Python等级考试题目:
python等级考试中,trutle库绘图是必考项目,所以要熟练使用turtle库,下面我列举了几道经典的turtle绘图题目,供大家参考学习。

圆中方

圆中方

import turtle #导入turtle库
turtle.speed(1) #设置画笔速度为10,画笔速度可以为1~10,速度越大速度越快
turtle.pensize(2) #画笔粗细为2,数字越大越粗
for i in range(4): #设置后续代码循环画的次数,这里是循环四次

turtle.fd(200)      #画笔的移动距离为200个像素点
turtle.left(90)     #移动完200个像素点后,画笔左转90°

turtle.left(-45) #循环结束后,画笔左转-45°
turtle.circle(100*pow(2,0.5)) #绘制半径为100的圆形
turtle.done() #画完后画布不消失,点击界面后消失
print("画完了") #画布消失后才会继续执行后续语句
三色同心圆:

三色同心圆

import turtle as t #导入turtle库,并取个别名
t.pensize(4)
color = ['red','pink','green'] #创建一个储存颜色的列表
ra = [20, 50, 100] #创建一个储存圆半径的列表
for i in range(3): #循环三次,i存储循环次数的数字

t.pu()                       #pu penup的缩写,也就是抬起笔,移动时不会绘画图形
t.goto(0,-ra[i])             #让画笔移动到[0,-ra[i]] 的位置
t.pd()                       #pd  pendown 的缩写,放下笔,开始绘画。
t.pencolor(color[i])         #画笔颜色换成color列表里索引为i的颜色
t.circle(ra[i])              #绘制半径为ra列表里索引为i的半径

t.done() #绘制完成后画笔不消失
四个圆中方:

四个圆中方

import turtle as t #导入turtle库,并取个别名t
dianwei=[-150,-50,50,150] #指定四个起始点位,将其存在dianwei列表中
for i in range(4): #循环四次,并将循环次数存在i中

t.penup()                #抬笔,移动时不会绘画
t.goto(dianwei[i], 0)    #将画笔移动到dianwei列表索引为i的x轴位置
t.pendown()              #落笔,开始绘画
for x in range(4):       #多个步骤重复,所以将代码写入循环,四个边,循环四次
    t.forward(50)        #画笔向前50个像素点
    t.left(90)           #画笔左转90度
t.left(-45)              #画完一个正方形后,画笔向右转动45度,也就是left(-45)
t.circle(35)             #画一个半径为三十五的圆
t.left(45)               #画完圆后,将角度调正,否则后续的正方形角度会歪掉

t.done() #画完后画布不消失

螺旋正方
哈哈,这里想看看循环加多点会发生什么,结果就是下面,考试时是10次循环就够了

螺旋正方

import turtle #导入turtle库
turtle.pensize(3) #画笔粗细为3
turtle.speed(10) #画笔绘制速度为10,1~10,数字越大速度越快
d = 0
k = 1
for j in range(100):
for i in range(4):

   turtle.fd(k)
   d += 91
   turtle.seth(d)    #seth绝对度数
   k += 2

turtle.done()

随机生成随机颜色的圆:
循环次数越多,随机生成的圆越多

生成随机位置,随机颜色的圆,并填充随机颜色

import turtle #导入turtle库
import random #导入random函数
color1=["red","yellow","pink","blue","black","green"] #将颜色装入color1列表
for i in range(99): #写入想要绘制圆圈的个数

turtle.speed(10)    #画笔速度
turtle.pensize(5)   #画笔粗细
x= random.choice(color1)     #随机生成圆的边缘的颜色,并赋给x
y= random.choice(color1)     #随机生成圆内部颜色,并赋给y
turtle.pencolor(x)           #笔的颜色
turtle.fillcolor(y)          #填充颜色
x0 = random.randint(-300, 300)     #随机x轴区域,并赋值给x0
y0 = random.randint(-300, 300)     #随机y轴区域,并赋值给y0
turtle.penup()                     #抬笔,抬笔移动时不会绘制线条
turtle.goto(x0,y0)                 #移动到随机的x轴和y轴

turtle.pendown()                    #放笔,移动时开始绘制
turtle.begin_fill()                 #开始填充颜色
turtle.circle(50)                   #画一个半径为50像素点的圆
turtle.end_fill()                   #结束填充

turtle.done() #绘制结束不关闭窗口

相关文章
|
6月前
|
存储 人工智能 测试技术
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
本文介绍如何使用LangChain结合DeepSeek实现多轮对话,测开人员可借此自动生成测试用例,提升自动化测试效率。
1506 125
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
|
6月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
585 0
|
5月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
597 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
5月前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
487 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
python torch基础用法
本教程系统讲解PyTorch基础,涵盖张量操作、自动求导、神经网络构建、训练流程、GPU加速及模型保存等核心内容,结合代码实例帮助初学者快速掌握深度学习开发基础,是入门PyTorch的实用指南。
745 6
|
6月前
|
机器学习/深度学习 编解码 Python
Python图片上采样工具 - RealESRGANer
Real-ESRGAN基于深度学习实现图像超分辨率放大,有效改善传统PIL缩放的模糊问题。支持多种模型版本,推荐使用魔搭社区提供的预训练模型,适用于将小图高质量放大至大图,放大倍率越低效果越佳。
515 3
|
Web App开发 Python
|
6月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
961 102
|
6月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
429 104
|
6月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
335 103

推荐镜像

更多