海龟编程 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天前
|
XML 存储 数据库
Python中的xmltodict库
xmltodict是Python中用于处理XML数据的强大库,可将XML数据与Python字典相互转换,适用于Web服务、配置文件读取及数据转换等场景。通过`parse`和`unparse`函数,轻松实现XML与字典间的转换,支持复杂结构和属性处理,并能有效管理错误。此外,还提供了实战案例,展示如何从XML配置文件中读取数据库连接信息并使用。
Python中的xmltodict库
|
14天前
|
数据库 Python
异步编程不再难!Python asyncio库实战,让你的代码流畅如丝!
在编程中,随着应用复杂度的提升,对并发和异步处理的需求日益增长。Python的asyncio库通过async和await关键字,简化了异步编程,使其变得流畅高效。本文将通过实战示例,介绍异步编程的基本概念、如何使用asyncio编写异步代码以及处理多个异步任务的方法,帮助你掌握异步编程技巧,提高代码性能。
49 4
|
14天前
|
API 数据处理 Python
探秘Python并发新世界:asyncio库,让你的代码并发更优雅!
在Python编程中,随着网络应用和数据处理需求的增长,并发编程变得愈发重要。asyncio库作为Python 3.4及以上版本的标准库,以其简洁的API和强大的异步编程能力,成为提升性能和优化资源利用的关键工具。本文介绍了asyncio的基本概念、异步函数的定义与使用、并发控制和资源管理等核心功能,通过具体示例展示了如何高效地编写并发代码。
25 2
|
12天前
|
数据采集 数据可视化 数据挖掘
利用Python进行数据分析:Pandas库实战指南
利用Python进行数据分析:Pandas库实战指南
一分钟看懂Python中的 // 和 / 和 % 的用法区别
一分钟看懂Python中的 // 和 / 和 % 的用法区别
|
3天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
9天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
9天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
9天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!