用 Python 创建 turtle 图形
徽标编程是一种基本编程语言,可以使用基本命令创建形状和图形。 向孩子们介绍它是为了让他们对编程有基本的了解。
在Python中,我们可以使用turtle库来处理模拟Logo编程语言的turtle图形。 这个预安装的库允许我们使用简单的命令(如徽标编程)创建和处理turtle图形。
本篇文章将讨论 Python 中turtle图形的一些示例。
在 Python 中创建图形输出屏幕
我们从创建输出屏幕开始。 turtle.getscreen()
方法初始化一个变量为屏幕,然后弹出一个屏幕。
该变量被更改,并且输出形成在屏幕上。 然后我们需要使用 turtle.Turtle()
构造函数初始化Turtle对象以在屏幕上绘制。
可以用上述对象移动乌龟的一些基本函数是 forward()
、right()
、left()
和 backward()
。 这些函数的缩写版本也可以分别用作 fd()、rt()、lt() 和 bk()。
forward()
和 backward()
函数将分别向上和向下移动turtle,而right() 和left() 函数将turtle旋转到给定角度。
我们可以将这些函数与循环和条件语句一起使用来创建不同的形状和图形。 下面让我们看看它们。
在 Python 中使用 Turtle() 创建一个正方形
创建正方形是一项相对简单的任务。 我们将迭代循环四次。
turtle在每次迭代中都会移动特定的距离,并向左或向右旋转 90 度。
请参阅下面的代码。
import turtle
obj = turtle.Turtle()
for i in range(4):
obj.forward(100)
obj.right(90)
turtle.done()
输出:
在上面的示例中,我们初始化了一个 Turtle 对象,并通过简单地运行几次循环、使用 front()
函数移动turtle并使用 right()
函数转动它来创建一个正方形。
在 Python 中使用 Turtle() 创建八边形
我们必须以所需的角度旋转乌龟并迭代循环八次以创建八边形。 我们可以通过将 360 除以边数(在本例中为八)来计算旋转所需的角度。
请参阅下面的代码。
import turtle
obj = turtle.Turtle()
angle = 360.0 / 8
for i in range(8):
obj.forward(100)
obj.right(angle)
turtle.done()
输出:
在 Python 中使用 Turtle() 创建六边形
类似地,可以通过迭代循环六次并将turtle旋转六十度 (360/6) 来创建六边形。
例子:
import turtle
obj = turtle.Turtle()
angle = 360.0 / 6
for i in range(6):
obj.forward(100)
obj.right(angle)
turtle.done()
输出:
在 Python 中使用 Turtle() 创建一颗星星
恒星是一个比前面讨论的要复杂得多的图形。 我们首先将turtle旋转 75 度并向前移动。
然后,将其旋转到 144 度的角度并移动相同的距离,从而迭代四次。
请参阅下面的代码。
import turtle
obj = turtle.Turtle()
obj.right(75)
obj.forward(100)
for i in range(4):
obj.right(144)
obj.forward(100)
turtle.done()
输出:
在 Python 中使用 Turtle() 创建一个圆
turtle库有一些预先构建的函数可以直接创建形状。
Circle()
函数可以使用turtle图形创建一个圆。 我们只需要在函数中指定圆的半径。
例子:
import turtle
obj = turtle.Turtle()
obj.circle(100)
turtle.done()
输出:
Python Turtle 库中的其他有用函数
我们可以编辑生成输出的屏幕。 要更改背景颜色,我们使用 turtle.bgcolor()
函数,要在屏幕上添加标题,我们使用 turtle.title()
函数。
我们还可以使用 turtle.shapesize()
和 turtle.fillcolor()
函数控制turtle的大小和颜色。
我们在下面的代码中使用前面讨论的函数。
import turtle
obj = turtle.Turtle()
turtle.title('DelftStack')
turtle.bgcolor('red')
obj.shapesize(3,3,3)
obj.fillcolor('blue')
turtle.done()
输出:
正如人们所观察到的,乌龟的形状和颜色都发生了变化。 此外,屏幕有红色背景,窗口上有标题。
我们可以使用 turtle.shape()
函数改变turtle的形状。
为了控制屏幕上钢笔绘图的大小和颜色,我们使用 turtle.pensize()
和 turtle.pencolor()
函数。
例子:
import turtle
obj = turtle.Turtle()
obj.pensize(5)
obj.pencolor('red')
obj.forward(100)
turtle.done()
输出:
在上面的示例中,我们可以看到笔的尺寸放大了五倍,并且颜色也发生了变化。 pen()
函数可以控制前面在一个函数中讨论的属性。
此函数可以使用 pencolor、pensize、fillcolor 和 speed 参数。 fillcolor 属性将用某种颜色填充创建的形状。
speed 属性控制笔移动的速度。
请参阅下面的代码。
import turtle
obj = turtle.Turtle()
obj.pen(pensize=5, pencolor = 'blue', fillcolor = 'red', speed = 10)
obj.begin_fill()
obj.circle(100)
obj.end_fill()
turtle.done()
输出:
本文讨论了 Python 中 turtle 图形与 turtle 库的基础知识。 我们讨论了如何在屏幕上移动 turtle 并创建基本形状。
我们还讨论了如何使用预先构建的函数创建形状。 讨论了控制和编辑屏幕、turtle和屏幕上笔的不同方法。
相关文章
Python 猜谜游戏
发布时间:2023/07/02 浏览次数:90 分类:Python
-
本篇文章将介绍用 Python 开发一个简单的猜数字游戏的过程。猜谜游戏机制 我们正在尝试开发一款游戏,从用户处获取上限和下限,生成该范围内的随机数,要求用户猜测该数字,并计算用户
Python 中的 Gzip 解压
发布时间:2023/07/02 浏览次数:56 分类:Python
-
我们将介绍Python中的gzip解压。 我们还将介绍如何使用 gzip 解压缩来解压缩压缩内容。Python 中的 Gzip 解压 Python 中构建了许多用于压缩和解压缩目的的库,但我们将介绍 Gzip 库。
在 Python 中创建奇数列表
发布时间:2023/07/02 浏览次数:113 分类:Python
-
我们将在本文中介绍在 Python 中创建奇数列表的不同方法。Python 中的奇数 定义奇数有两种方法,第一种是整数不能被 2 整除时的情况。另一种是整数除以 2 时余数为 1 的情况。
在 Python 中使用 Tesseract 从图像中读取文本
发布时间:2023/07/02 浏览次数:110 分类:Python
-
我们将介绍如何使用 Python 中的 Tesseract 创建一个可以从图像中读取文本的程序。Python 中的超正方体 当我们使用需要从图像中读取文本的功能的系统时,我们会使用 Python 中的 Tesseract。
Python 中的队列实现
发布时间:2023/07/02 浏览次数:62 分类:Python
-
我们在 Python 中使用队列来执行先进先出 (FIFO) 操作。 本文将讨论 Python 中队列实现的三种不同方法。Python 中的队列实现 在队列中,我们可以执行不同的操作。
Python 行列式
发布时间:2023/07/02 浏览次数:129 分类:Python
-
矩阵的行列式是仅与方阵相关的标量。 对于方阵 [[1,2], [3,4]],行列式计算为 (1x4) - (2x3)。在Python中使用numpy.linalg.det()计算矩阵的行列式
Python 中的 Pexpect
发布时间:2023/07/02 浏览次数:157 分类:Python
-
我们将通过示例介绍Python中的Pexpect。Python 中的 Pexpect Python 是一种非常流行的语言,用于数据科学和机器学习。 它是一种非常强大的语言,因为 Python 具有可用于不同目的的内置库。
Python 中的方法重载
发布时间:2023/07/02 浏览次数:186 分类:Python
-
本篇文章将通过示例介绍Python中的方法重载及其优点。Python 中的方法重载 方法重载在 Python 中起着至关重要的作用。 方法有时采用零个参数,有时采用一个或多个参数。
Python 中的内存泄漏
发布时间:2023/07/02 浏览次数:96 分类:Python
-
内存泄漏是一个常见的编程问题,很难调试和修复。 本文将通过小型和大型示例程序探讨 Python 内存泄漏。