Python turtle库,库的引用、基本使用方法,tutle库练习(画圆、画角、画线条、五星红旗),使用rgb颜色,turtle绘画结束后,画布不消失的三种方法

这篇具有很好参考价值的文章主要介绍了Python turtle库,库的引用、基本使用方法,tutle库练习(画圆、画角、画线条、五星红旗),使用rgb颜色,turtle绘画结束后,画布不消失的三种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python学习总结–turtle库

​ turtle库,又被称为海龟,是能够进行绘图操作的一个标准库,包含许多用来图形绘制的方法。

在画布上,默认有一个坐标原点为画布中心的坐标轴, 坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:标原点(位置),面朝x轴正方向(方向),turtle绘图中, 就是使用位置方向描述小乌龟(画笔)的状态。

​ 使用Python中的turtle库不需要特别的准备。要使用turtle库,你需要确保你的Python环境已经安装,并知道如何导入和使用turtle库。

一、库的引用

如python中的其他标准库和三方库一般,想要使用,需在程序开始处进行库的引用,引用方式主要有以下几种:

1、import turtle:直接引入对应的库

备注:使用这种方式引入库,那么在对turtle库中的函数进行调用时,需要使用这种形式:turtle. 函数名()

例如:

# circle()是turtle库中的一个用来绘制圆的函数

import turtle
turtle. circle(100)

2、from turtle import *:直接从turtle库中引入其所有的函数

备注:在对turtle库中的函数进行调用时,函数名前不用加turtle库名,即使用这种形式:函数名()

例如:

from turtle import *

circle(100)    #直接调用

3、import turtle as t:直接引入库,并给库取一个别名

例如:

import turtle as t

t. circle(100)   #画一个圈

备注:这种方式与方式一很像,在需要多次调用turtle库的函数时,可使用别名简化代码

二、turtle库的基本使用

1、窗体函数:

​ 1)设置窗口的函数turtle. setup(width,height,starts,starty)

​ 作用:设置绘图窗口的宽高和位置

​ 其中:

width:表示绘图窗口的宽度,值是整数,表示的是像素值;值是小数,表示窗口宽度与屏幕的比例。

height:表示绘图窗口的高度,值是整数,表示的是像素值;值是小数,表示窗口高度与屏幕的比例。

startx:表示绘图窗口左侧与屏幕左侧的像素距离。若不填,默认窗口位于屏幕水平居中。

starty:表示绘图窗口顶部与屏幕顶部的像素距离。若不填,默认窗口位于屏幕垂直居中。

​ 2)画布背景色设置:turtle. bgcolor("red")

​ 3)画笔上箭头的隐藏与显示**:

turtle. hideturtle() 隐藏

turtle. showturtle() 显示

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

2、画笔状态的函数:有多种,具体见下述

​ 1)提起及放下画笔的函数:这是两个函数,一般都配套使用。

​ 完整形式:

turtle. penup()   提起画笔

turtle. pendown()  放下画笔

作用:提起画笔后,移动画笔或者绘图,均不会在画布上留下痕迹。放下画笔后,移动画笔或者绘图,均会在画布上留下痕迹。

​ 2)画笔状态设置:

turtle. pensize(数字) :画笔粗细

turtle.pencolor('颜色'):画笔颜色

turtle.fillcolor('颜色'):画笔填充颜色

也可以混合使用:turtle. pen(pensize,pencolor,fillcolor)

例如:

(1)turtle. pensize(30):设置画笔的粗细

(2)turtle. color(pencolor,fillcolor):设置画笔的颜色及填充颜色

(3)turtle. fillcolor("blue"):设置图案的填充颜色

3、画笔状态设置:图案颜色填充函数:

turtle. begin_fill() :开始填充

turtle. end_fill():结束填充

具体使用场景如下:

#绘制的一个半径为100内部为蓝色的圆
import turtle as turtle

turtle. fillcolor("blue")
turtle. begin_fill()
turtle. circle(50)
turtle. end_fill()

结果:
from turtle import*,tutle库,python,开发语言
4、画笔状态设置:画笔移动操作的函数:

1)直线运动操作的函数:

​ (1) turtle.forward(200)

​ 作用:往前画长度为200像素的直线(画笔初始方向默认为水平向右)

​ (2) turtle.backward(300)

​ 作用:往后画长度为300像素的直线(画笔方向保持不变)

2)改变画笔方向的函数:

​ (1) turtle.right(90)

​ 作用:画笔沿顺时针方向旋转90度

​ (2) turtle.left(90)

​ 作用:画笔沿逆时针方向旋转90度

​ (3) turtle.setheading(90)

​ 作用:画笔沿逆时针方向旋转90度

备注:括号里面的参数可正可负,正如上述,负为反方向

3)改变画笔当前位置的函数:

​ (1) turtle.goto(x,y)

​ 作用:将画笔从当前位置移动到(x,y)处,x、y为具体像素坐标值(以初始点为坐标原点)

​ (2) turtle.setpos(x,y)

​ 作用:将画笔从当前位置移动到(x,y)处,x、y为具体像素坐标值(以初始点为坐标原点)

​ (3) turtle. setx(x)

​ 作用:将画笔从当前位置水平移动到横坐标为x处,x为具体像素坐标值(纵坐标不变)

​ (4) turtle. set y(y)

​ 作用:将画笔从当前位置竖直移动到纵坐标为y处,y为具体像素坐标值(横坐标不变)

5、画布的全局操作:

​ 1)turtle. clear()

​ 作用:清空turtle画布,但是turtle画笔的位置和状态不变

​ 2)turtle. reset()

​ 作用:清空并复位turtle画布窗口,重置画笔状态(但是画布背景色不变)

​ 3)turtle. undo()

​ 作用:撤销上一个turtle绘图动作

​ 4)turtle. isvisible()

​ 作用:返回当前turtle画布是否可见,若可见,返回True,否则返回False

三、练习

1. 画圆–练习奥运五环

from turtle import*,tutle库,python,开发语言
代码:

#一般形式
import turtle as t #召唤海龟先生
t.pensize(5) #画笔粗细

#第一个圈
t.color("black") #把画笔颜色改为黑色
t.circle(50)     #画圆
#第二个圆
t.color("red")#把画笔颜色改为黑色
t.penup()#抬笔
t.goto(-100,0)#移动到-100,0
t.pendown() #落笔
t.circle(50)
#第三个圆
t.color("blue")
t.penup()
t.goto(100,0)
t.pendown()
t.circle(50)
#第四个圆
t.color("green")
t.penup()
t.goto(-50,-50)
t.pendown()
t.circle(50)
#第五个圆
t.color("yellow")
t.penup()
t.goto(50,-50)
t.pendown()
t.circle(50)

或者使用函数:定义drawCircle函数,使代码简约易理解

#函数形式
import turtle as t #召唤海龟先生
t.pensize(5)

def drawCircle(color,x,y):
    t.color(color)
    t.goto(x,y)
    t.pendown()
    t.circle(50)
    t.penup()
drawCircle("black",0,0)
drawCircle("red",-100,0)
drawCircle("blue",100,0)
drawCircle("green",-50,-50)
drawCircle("yellow",50,-50)

2. 画角

1)画正方形drawRectangle
  • 开始填充 .begin_fill()

  • 结束填充 end_fill()

  • 向右转 .right(度数)

  • 向左转 .left(度数)

  • 直走 .forward(xxx)

import turtle as t
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)

t.penup()
t.goto(-200,-100)

def draw_rectangle(side):
    t.pendown()
    for i in range(4):
        t.forward(side)
        t.right(90)
    t.penup()

draw_rectangle(50)

如图,画了两个正方形:
from turtle import*,tutle库,python,开发语言

2)画三角形 drawTriangle

turtle.goto(x,y) 让画笔沿直线移动到坐标点(x,y)处

turtle.setpos(x,y) 与goto命令一样,作用也是让画笔沿直线移动到坐标点(x,y)处

turtle.sex(x) 只改变x坐标,让画笔产生移动

turtle.sex(y) 只改变y坐标,让画笔产生移动

x,y=turtle.pos() 返回画笔当前位置的坐标

turtle.seth(degree) 用于设置画笔的方向,参数degree为画笔方向与海龟坐标系x轴正向的夹角度数。

import turtle as t
# 第一个三角形    原始的方式
t.color('dark green')
t.begin_fill()  #填充的起点
t.forward(100)
t.left(120)
t.forward(100)
t.left(120)
t.forward(100)
t.end_fill()   #填充的终点(闭合)

# 第二个三角形  加入for循环
t.penup() 
t.setpos(-100,-100)
t.pendown()
t.color('red')
t.begin_fill() 
for i in range(3):
    t.forward(100)
    t.left(120)
t.end_fill()
 
# 第三个三角形   利用函数+for循环
t.penup() 
t.setpos(200,-100)

def draw_trangle():    #函数形式
    t.pendown()
    t.color('black')
    t.begin_fill() 
    for i in range(3):
        t.forward(100)
        t.left(120)
    t.end_fill()

draw_trangle()

如图,画了三个三角形:
from turtle import*,tutle库,python,开发语言

3)画多边形 drawPolygon

注意点:熟知内角和的度数。【多边形的内角及内角和 = (n-2)*180°】

  • 五角形
  • 六角形
import turtle as t
# 第一个五角形
t.color('red')
t.forward(100)
t.left(72)
t.forward(100)
t.left(72)
t.forward(100)
t.left(72)
t.forward(100)
t.left(72)
t.forward(100)

# 第二个五角形
t.penup()
t.setpos(-200,-200)
t.pendown()
t.color('green')
t.begin_fill()

for i in range(5):
    t.forward(100)
    t.left(72)
t.end_fill()
    
t.penup()
t.setpos(200,-200)

# 第三个五角形
def draw_pentagon():
    t.pendown()
    t.color('green')
    t.begin_fill()
    for i in range(5):
        t.forward(100)
        t.left(72)
    t.end_fill()

draw_pentagon()

t.exitonclick()   #点击画布时,画布才消失

如图,画了三个五边形:
from turtle import*,tutle库,python,开发语言

4)画五角星形drawEive-pointedstar

五角星的角的度数 36°

import turtle as t
t.color('dark green')
t.begin_fill()
for i in range(5):
	t.forward(100)
	t.right(144)
t.end_fill()

如图:
from turtle import*,tutle库,python,开发语言

另一种方式:

import turtle as t
t.color('dark green')
t.begin fill()
forin range(5):
	t.forward(30)
	t.left(72)
	t.forward(30)
	t.right (144)
t.end fill()
5)画五星红旗
  • 新建一个窗口:t.Screen()

  • 让画笔沿直线移动到坐标点(x,y)处:.setpos(x.y)

  • 设置背景颜色:Object.bgcolor(color)

  • 设置窗口宽、高:Obiect.setup(width,height)

  • 隐藏画笔箭头:setheading(degre)

'''
1.画五星红旗D底色为红色 矩形框宽和高比为3比2
2.确定几颗星星的位置
3.小星星旋转一个角度指向大星星
'''

import turtle as t

window = t.Screen()
window.setup(900,600)
window.bgcolor('red')

t.speed(0)
map = t.Screen()
map.setup(900,600)
map.bgcolor('red')

# t.screensize(800,600)
# t.bgcolor('red') 

def draw_5pointedstar(x,y,degree,side):
    t.setpos(x,y)
    t.setheading(degree)
    t.pendown()
    t.color('yellow')
    t.begin_fill()
    for i in range(5):
        t.forward(side)
        t.left(72)
        t.forward(side)
        t.right(144)
    t.end_fill()
    t.penup()
    
#大五星
t.penup ()
draw_5pointedstar(-390,180,0,65)
#右上第1颗小五角星
draw_5pointedstar(-170,260,330,15)
#右上第2颗小五角星
draw_5pointedstar(-120,170,30,15)
#第3颗小五角星
draw_5pointedstar(-120,100,0,15)
#第4颗小五角星
draw_5pointedstar(-170,60,330,15)

t.hideturtle()

t.exitonclick()

爱我中华!
from turtle import*,tutle库,python,开发语言

6)叠边形
import turtle as t
t.pensize(5)
t.pencolor("black")
for i in range(9):  #一共有9条边,顾循环9次
    t.forward(100)
    t.left(80) #叠边形的内角为100,偏移角度为80

t.exitonclick()

如图:
from turtle import*,tutle库,python,开发语言

3. 线条艺术

1)贝壳
#贝壳
import turtle as t
t.speed(15)     #调整画笔的速度
for x in range(20):
    t.circle(x*3)

t.exitonclick()

如图:
from turtle import*,tutle库,python,开发语言

2)让贝壳旋转起来
# 利用for循环
import turtle as t
t.speed(20)
for x in range(30):
    t.circle(x*3)
    t.left(90)      #旋转90°

t.exitonclick()


#或者利用while循环

如图:
from turtle import*,tutle库,python,开发语言

3)迷宫
import turtle as t
t.speed(100)
X = 0
while X < 50 :
    t.forward(X * 3)
    t.left(90)
    X+=1
t.exitonclick()

如图:
from turtle import*,tutle库,python,开发语言

4.色彩

1)使用RGB表达色彩

这里用到了随机函数random.randint(),使用前需要导入 import random

import turtle as t
import random    #导入

screen = t.Screen()     #创建新的窗口
screen.colormode(255)
t.speed(20)
t.pensize(2)

for x in range(50):         #利用随机函数随机获取rgb三种颜色
	r = random.randint(0,255)
	g = random.randint(0,255)
	b = random.randint(0,255)
	t.color(r,g,b)
	t.circle(x)
	t.left(90)
t.exitonclick()

如图:
from turtle import*,tutle库,python,开发语言

2)如何适用多种颜色?
import turtle as t
window = t.Screen()
window.bgcolor('black')

# sides = eval(input("输入要绘制的边的数目 (2-6) !"))
sides = 6
t.speed(20)
colors =["red","yellow","green","blue","orange","purple"]
for x in range(100):
    t.pencolor(colors[x % sides])
    t.forward(x * 3 / sides + x)
    t.left(360 / sides + 1)
    t.width(x* sides / 200)
    
t.exitonclick()

如图:
from turtle import*,tutle库,python,开发语言

三、turtle绘画结束后,画布不消失的三种方法

在pycharm/vscode中绘图完毕,画布总会消失。有三种方法能让turtle绘画结束后画布不消失,如下最后三个语句:`文章来源地址https://www.toymoban.com/news/detail-771480.html

  • turtle.exitonclick() #点击画面时画布才会消失
  • turtle.mainloop() #这种方法会使得后面的代码无法运行
  • turtle.done() #这种方法会使得后面的代码无法运行

到了这里,关于Python turtle库,库的引用、基本使用方法,tutle库练习(画圆、画角、画线条、五星红旗),使用rgb颜色,turtle绘画结束后,画布不消失的三种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python安装库的几种方法(使用Pycharm几种方法)

    1.我的Pycharm已经改成中文格式了 首先在Pycharm中进行安装库 进入Python解释器中。 里面搜素需要的库,可能速度很慢,有的库没有,可以采用别的方法。 2. cmd安装库文件 Windows+R进入CMD命令下。 直接输入 pip install *** 就可以了 就是自动安装需要的库。 3.直接使用别人已经安装好

    2024年02月13日
    浏览(49)
  • 使用Python引用DLL文件的方法

    Python是一种功能强大的编程语言,可以与其他编程语言和库进行交互。在某些情况下,您可能需要使用Python引用动态链接库(DLL)文件,以便在Python代码中调用DLL文件中的函数和方法。本文将介绍如何使用Python引用DLL文件并调用其中的函数。 步骤1:准备DLL文件 首先,您需要

    2024年02月03日
    浏览(46)
  • python 安装库常用的国内镜像、使用镜像安装库的方法

    语法格式: pip install 库名 -i 镜像网址 如使用豆瓣安装requests库:

    2024年02月06日
    浏览(47)
  • PySerial:Python串口通信库的详细介绍、安装及使用方法攻略

    PySerial:Python串口通信库的详细介绍、安装及使用方法攻略 一、PySerial 简介 PySerial 是 Python 的一个串口通信库,支持不同平台下的串口操作。在 Python 应用中,使用 PySerial 可以非常方便地实现对串口设备的读写操作。 二、PySerial 的安装 在 Windows 平台下,可以通过 pip 命令安装

    2024年02月09日
    浏览(59)
  • Python视频编辑神器:全面分析ffmpeg-python库的安装与使用方法

    Python视频编辑神器:全面分析ffmpeg-python库的安装与使用方法 在Python中进行视频编辑是一件令人兴奋的事情,它能够让你深入了解和控制你想要的任何一帧视频。而在Python视频编辑工具中,ffmpeg-python库可以说是至关重要的一员。它能够让你轻松地处理视频、音频等多媒体数据

    2024年02月10日
    浏览(65)
  • Turtle库的使用 | 一文教你用python绘制五角星

     本文正在参与新星计划Python学习方向,详情请看:(93条消息) lifein的博客_CSDN博客-SQL SERVER,计算机三级——数据库领域博主 目录 一、Turtle库 二、代码详细讲解 (一)代码:  (二)重要代码解释:         最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于

    2024年02月05日
    浏览(42)
  • python | Logging日志标准库的常见使用方法(手搓日志记录装饰器)

    日志级别从低到高分为: DEBUG INFO WARNING ERROR CRITICAL 使用前需要设置记录的日志级别,只有大等于该日志级别的日志才会被记录。 例如,设置日志级别为 WARNING ,则 WARNING 、 ERROR 、 CRITICAL 三种级别的日志才会被记录。 运行这段代码,可以在控制台看到以下输出: 可以自定义

    2024年02月11日
    浏览(41)
  • 【Py之utils:utils库的简介、安装、使用方法之详细攻略】——Python实用工具库

    【Py之utils:utils库的简介、安装、使用方法之详细攻略】——Python实用工具库 Py中提供了许多优秀的第三方库,其中utils是一款非常实用的工具库,它可以简化代码编写过程中的繁琐操作,提高开发效率,也可以增加程序的可读性和稳定性。本篇文章将详细介绍utils库的安装、

    2024年02月12日
    浏览(62)
  • Py之AV:Python下音视频处理的良伴,AV库的全面介绍、详细安装和使用方法!

    Py之AV:Python下音视频处理的良伴,AV库的全面介绍、详细安装和使用方法! Python作为一门广泛使用的编程语言,其实也可以用来进行音视频的处理。AV库就是一个功能强大、易于使用的Python音视频处理库,能够方便地完成多种音视频格式的读取、解码和编码等操作。 本文将全

    2024年02月12日
    浏览(67)
  • Python Selenium 的基本使用方法

    Selenium 是一个用于自动化 web 浏览器的工具,它提供了一套用于测试 web 应用程序的工具和库。Selenium 最初是用于测试 web 应用程序的,但它也被广泛用于进行网络数据采集、自动化任务和网页操作等。 Selenium 支持多种编程语言,包括 Python、Java、JavaScript、C# 等,但最为常用的

    2024年04月28日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包