首先,我们须要导入turtle库:

python

phyton建筑设计 常见问题

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库来制作繁芜的图形。
你可以考试测验修正这个代码来增加更多的细节或者繁芜性。