使用 Python 中的 Turtle 制作印度国旗

17 Mar 2025 | 6 分钟阅读

本教程将使用 Python Turtle 绘制著名的 印度国旗。 Python 有一个 Turtle 模块。 它有一个 turtle(笔)和一个纸板素描表面。 移动 turtle 在屏幕上构造任何东西。 可以使用其他操作(包括 forward()backward())移动 turtle。 我们可以像在绘图板上一样,在此中使用多种绘图技术。 基本命令控制绘图笔的实际移动方式。

好吧,将使用 Python 的 turtle 包来绘制此标志。 它提供了内置技术,使素描图片成为一件简单的家务。 我们使用循环来减少相同代码行的重复,因此总体上没有很多代码行。

对于那些刚开始学习 Python 和 Turtle 模块的人来说,印度国旗代码简单易懂。 为了便于理解,我们在每个区域都包含了注释或演练步骤。

turtle 图形的特点

forward(x): 将笔在正方向前进 x 个单位。

backward(x): 将笔在相反方向前进 x 个单位。

Right(x): 以顺时针方式将笔旋转 x 度角。

Left(x): 以逆时针方向将笔旋转 x 度角。

penup(): 它导致 turtle 笔停止绘图。

pendown(): 使用 pendown() 方法开始使用 turtle 笔进行绘图。

Begin_fill(): 开始用颜色填充形状的内部。

Fill_colour(): 使用 fillcolor("颜色名称") 函数设置填充颜色。

End_fill(): 它停止颜色的填充。

代码分解

1. 导入 Turtle 库

通过将其导入到我们的程序中,我们可以使用 turtle 模块 的内置方法和函数。 为了正确创建图片, import * 意味着从 Turtle 模块导入每个方法。

2. 配置 turtle 和绘图屏幕

使用 screen() 方法设置绘制图形的屏幕,并且还定义了 turtle 模块的实例。 使用 speed() 方法设置绘制图形的速度。

3. 创建标志的橙色矩形

我们首先使用 penup() 方法保持笔抬起而不绘图,并使用 goto() 方法移动到坐标 -150125,然后开始使用 pendown() 方法绘图。 我们首先借助 color() 方法使用颜色 orange,然后开始使用 forward() 方法前进,使用 right() 方法向右转动一定角度,使用 left() 方法向左转动一定角度,然后再次重复该过程,直到绘制了矩形的所有边。 我们使用 end_fill() 方法结束绘图。 在创建橙色矩形之后,turtle 只需再次使用 forward() 方法前进,从而自动封闭标志的白色部分。

4. 创建标志的绿色矩形

我们首先借助 color() 方法使用颜色 green,然后开始使用 forward() 方法前进,使用 left() 方法向左转动一定角度,然后再次重复该过程,直到绘制了矩形的所有边。 我们使用 end_fill() 方法结束绘图。 在创建绿色矩形之后,turtle 只需再次使用 forward() 方法前进,从而自动移动以绘制标志的其余部分。

5. 制作一个大的蓝色圆圈

为了设计 标志的中心蓝色大圆圈 在此部分中,我们使用 goto() 方法将 turtle 位置设置为 goto(35,0)。 海军蓝色与以前的色调相同,并且圆圈的 半径 保持在 35。 并且其余所有方法,包括 pendown()、color()、end_fill()、begin_fill()circle() 都以与先前类似的方式用于绘制圆圈。

6. 在印度国旗的蓝色圆圈内绘制大的白色圆圈。

在此块中,turtle 现在位于 海军蓝 圆圈内的五个步骤处。 通过使用 goto() 方法将其设置为坐标 goto(30,0) 并将半径保持在 30 并使用 circle() 方法提及它,来绘制 白色 圆圈。 其余所有函数,例如 penup()、pendown()、color()、begin_fill()end_fill() 都以与先前部分类似的方式使用。 最终,我们得到了所需的 白色圆圈

7. 在中间圆圈内绘制 24 个小圆圈

在此代码中,使用 goto() 方法将 turtle 的位置设置为 goto(-27,-4),并且其颜色为海军蓝色。 turtle 将使用 for 循环 绘制 24 个小 Ashok Chakras。 标志的内圆将具有绘制该圆所需的必要位置,前提是它具有 2 个单位的半径15 度的直角。 其余所有函数,例如 penup()、pendown()、color()、begin_fill()end_fill() 都以与先前部分类似的方式使用。

8. 创建中心蓝色圆圈

在将 turtle 定位在 goto(10,0) 之后,绘制了印度国旗的 最内层海军蓝色 圆圈。 其余所有函数,例如 penup()、pendown()、color()、begin_fill()end_fill() 都以与先前部分类似的方式使用。

9. 添加 24 个辐条

在这里,我们使用了 for 循环 函数来 绘制 24 个辐条,同时保持 pensize(1) 和 turtle 的位置在中心固定在 goto(0,0)。 其余所有函数,例如 penup()、pendown()、color()、begin_fill()end_fill() 都以与先前部分类似的方式使用。

10. 绘制印度国旗的旗杆

在此部分中,使用 goto() 方法将 turtle 位置更改为 goto(-150,125),将 笔尺寸 增加到 10,并且绘制了 500 步的直线,即标志的旗杆。 除此之外,我们在绘制完成后使用 hideturtle() 方法隐藏 turtle,并使用 turtle.done() 完成绘制。

完整代码

输出

在执行上述代码后,可以看到结果如下,即“印度国旗”。

Making an Indian Flag using Turtle in Python