📜  在Python中使用 Turtle 编程绘制房屋(1)

📅  最后修改于: 2023-12-03 15:37:37.852000             🧑  作者: Mango

在Python中使用 Turtle 编程绘制房屋

介绍

Turtle 是一个基于 Python 的图形库,可以实现艺术绘画和图形设计等一些有趣的应用。它最初是在 Python 2.x 版本中的标准库中引入的,现在也在 Python 3.x 中继续保留。

在本文中,我们将学习如何使用 Turtle 库来绘制一个简单的房屋图形。我们将使用一些简单的 Python 代码来绘制基本的形状,如矩形和三角形,并设置 Turtle 的属性来创建我们的房屋图形。

我们将使用 Python 3.x 版本和 Turtle 库。如果你还没有安装 Turtle 库,可以使用以下命令进行安装:

!pip install turtle
绘制房屋的步骤
导入库

首先,我们需要导入 Turtle 库,代码如下:

import turtle
创建画板

接下来,我们需要创建一个画板。我们使用 turtle.Screen() 函数创建一个新的画板窗口,代码如下:

window = turtle.Screen()
创建画笔

然后,我们需要创建一个画笔。我们使用 turtle.Turtle() 函数创建一个新的画笔对象,代码如下:

pen = turtle.Turtle()
绘制房屋

现在,我们已经准备好开始绘制我们的房屋了。我们将使用一些简单的绘图函数来创建我们的图形。代码如下:

# 绘制矩形房屋
pen.penup()
pen.goto(-100, 0)
pen.pendown()
pen.begin_fill()
pen.fillcolor("#d3d3d3")
pen.goto(-100, -100)
pen.goto(100, -100)
pen.goto(100, 0)
pen.goto(-100, 0)
pen.end_fill()

# 绘制屋顶
pen.penup()
pen.goto(-100, 0)
pen.pendown()
pen.goto(0, 100)
pen.goto(100, 0)

# 绘制门
pen.penup()
pen.goto(-30, -100)
pen.pendown()
pen.begin_fill()
pen.fillcolor("blue")
pen.goto(-30, -70)
pen.goto(30, -70)
pen.goto(30, -100)
pen.goto(-30, -100)
pen.end_fill()

# 绘制窗户
pen.penup()
pen.goto(-80, -30)
pen.pendown()
pen.begin_fill()
pen.fillcolor("yellow")
pen.goto(-80, 10)
pen.goto(-40, 10)
pen.goto(-40, -30)
pen.goto(-80, -30)
pen.end_fill()

pen.penup()
pen.goto(40, -30)
pen.pendown()
pen.begin_fill()
pen.fillcolor("yellow")
pen.goto(40, 10)
pen.goto(80, 10)
pen.goto(80, -30)
pen.goto(40, -30)
pen.end_fill()
隐藏画笔

最后,我们将采取最后一个步骤并隐藏我们的画笔。代码如下:

pen.hideturtle()
完整代码

到目前为止,我们已经了解了如何在 Python 中使用 Turtle 编程绘制房屋图形。以下是完整的代码:

import turtle

window = turtle.Screen()
pen = turtle.Turtle()

# 绘制矩形房屋
pen.penup()
pen.goto(-100, 0)
pen.pendown()
pen.begin_fill()
pen.fillcolor("#d3d3d3")
pen.goto(-100, -100)
pen.goto(100, -100)
pen.goto(100, 0)
pen.goto(-100, 0)
pen.end_fill()

# 绘制屋顶
pen.penup()
pen.goto(-100, 0)
pen.pendown()
pen.goto(0, 100)
pen.goto(100, 0)

# 绘制门
pen.penup()
pen.goto(-30, -100)
pen.pendown()
pen.begin_fill()
pen.fillcolor("blue")
pen.goto(-30, -70)
pen.goto(30, -70)
pen.goto(30, -100)
pen.goto(-30, -100)
pen.end_fill()

# 绘制窗户
pen.penup()
pen.goto(-80, -30)
pen.pendown()
pen.begin_fill()
pen.fillcolor("yellow")
pen.goto(-80, 10)
pen.goto(-40, 10)
pen.goto(-40, -30)
pen.goto(-80, -30)
pen.end_fill()

pen.penup()
pen.goto(40, -30)
pen.pendown()
pen.begin_fill()
pen.fillcolor("yellow")
pen.goto(40, 10)
pen.goto(80, 10)
pen.goto(80, -30)
pen.goto(40, -30)
pen.end_fill()

pen.hideturtle()

输出结果将如下房屋图形:

房屋图形