海龟编程 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() #绘制结束不关闭窗口

相关文章
|
1月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
30天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
18天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
102 80
|
24天前
|
XML JSON 数据库
Python的标准库
Python的标准库
162 77
|
7天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
29 14
|
17天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
53 2
|
22天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
46 8
|
25天前
|
XML JSON 数据库
Python的标准库
Python的标准库
47 11
|
25天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
64 8
|
30天前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
48 10