首先,我们须要导入turtle库:
python
import turtle
然后,我们可以定义一个函数来画出一个独立的屋子。为了简化,我们将每个屋子都画成一个正方形。
python
def draw_house(length):
for _ in range(4):
turtle.forward(length)
turtle.right(90)
接下来,我们画出第一个屋子和它的院子。为了画出一个院子,我们只须要在屋子的根本上增加一些额外的长度。
python
turtle.penup()
turtle.goto(-100, 0) # 将起始位置设置为屋子的左下角
turtle.pendown()
draw_house(100) # 画出屋子
turtle.forward(50) # 画出院子
然后,我们画出第二个屋子和它的院子。为了保持对称性,我们可以利用turtle.mirror()函数来镜像第二个屋子。
python
turtle.penup()
turtle.goto(100, 0) # 将起始位置设置为屋子的右上角
turtle.pendown()
draw_house(100) # 画出屋子
turtle.mirror() # 镜像屋子
turtle.forward(50) # 画出院子
同样的,我们画出第三个和第四个屋子。
python
turtle.penup()
turtle.goto(0, -100) # 将起始位置设置为屋子的左下角
turtle.pendown()
draw_house(100) # 画出屋子
turtle.forward(50) # 画出院子
turtle.penup()
turtle.goto(0, 100) # 将起始位置设置为屋子的右上角
turtle.pendown()
draw_house(100) # 画出屋子
turtle.mirror() # 镜像屋子
turtle.forward(50) # 画出院子
末了,我们可以隐蔽海龟并保持窗口打开,以便我们可以看到结果。
python
turtle.hideturtle() # 隐蔽海龟
turtle.done() # 保持窗口打开
完全的代码该当如下所示:
python
import turtle
def draw_house(length):
for _ in range(4):
turtle.forward(length)
turtle.right(90)
turtle.penup()
turtle.goto(-100, 0) # 将起始位置设置为屋子的左下角
turtle.pendown()
draw_house(100) # 画出屋子
turtle.forward(50) # 画出院子
turtle.penup()
turtle.goto(100, 0) # 将起始位置设置为屋子的右上角
turtle.pendown()
draw_house(100) # 画出屋子
turtle.mirror() # 镜像屋子
turtle.forward(50) # 画出院子
turtle.penup()
turtle.goto(0, -100) # 将起始位置设置为屋子的左下角
turtle.pendown()
draw_house(100) # 画出屋子
turtle.forward(50) # 画出院子
turtle.penup()
turtle.goto(0, 100) # 将起始位置设置为屋子的右上角
turtle.pendown()
draw_house(100) # 画出屋子
turtle.mirror() # 镜像屋子
turtle.forward(50) # 画出院子
turtle.hideturtle() # 隐蔽海龟
turtle.done() # 保持窗口打开
你可以通过运行这段代码来看到四合院模型的结果。虽然这个模型很大略,但是它展示了如何利用Python的turtle库来制作繁芜的图形。你可以考试测验修正这个代码来增加更多的细节或者繁芜性。