直接放代码
from turtle import *
def box():
right(90)
pendown()
fillcolor('#E8E8E8')
begin_fill()
for i in range(2):#框1
fd(65*0.66)
left(90)
fd(75*0.66)
left(90)
end_fill()
left(90)
fd(20*0.66)
right(90)
fillcolor('#00BFFF')
begin_fill()
for i in range(2):
fd(65*0.66)
left(90)
fd(55*0.66)
left(90)
end_fill()
pendown()
fd(65*0.66)#一横
penup()
left(90)
fd(45*0.66)
left(90)
pendown()
fd(65*0.66)
right(90)
fd(10*0.66)
right(90)
fd(10*0.66)
right(90)
fd(55*0.66)
left(90)
fd(45*0.66)
left(90)
fd(55*0.66)
penup()
right(90)
fd(6.6)
right(90)
fd(75*0.66)
left(90)
def pillars_1():#竖柱01
left(90)
fillcolor('#F5F5F5')
begin_fill()
for i in range(2):
fd(918*0.66)
right(90)
fd(13.2)
right(90)
right(90)
#框间距13.2
fd(13.2)
end_fill()
def pillars_2():#竖柱02
left(90)
penup()
fd(918*0.66)#上
fillcolor('#F5F5F5')
begin_fill()
right(90)
fd(13.2)#横
right(90)
fd(918*0.66)#下
right(90)
##框间距13.2
fd(13.2)#横
right(90)
fd(918*0.66)#上
right(90)
end_fill()
pendown()
pencolor("black")
fd(13.2)#横
right(90)
fd(918*0.66)#下
right(90)
##框间距13.2
fd(13.2)#横
right(90)
fd(92*0.66)
for i in range(6):
penup()
fd(33)
pendown()
fd(75*0.66)
penup()
fd(50)
right(90)
fd(13.2)
right(90)
fd(918*0.66)
left(90)
def first_floor_box():
right(90)
pendown()
fillcolor('#E8E8E8')
begin_fill()
for i in range(2):#大框
fd(65*0.66)
left(90)
fd(92*0.66)
left(90)
end_fill()
left(90)
fd(37*0.66)
right(90)
fillcolor('#00BFFF')
begin_fill()
for i in range(2):
fd(65*0.66)
left(90)
fd(55*0.66)
left(90)
end_fill()
pendown()
fd(65*0.66)#一横
penup()
left(90)
fd(45*0.66)
left(90)
pendown()
fd(65*0.66)
right(90)
fd(10*0.66)
right(90)
fd(10*0.66)
right(90)
fd(55*0.66)
left(90)
fd(45*0.66)
left(90)
fd(55*0.66)
right(90)
fd(6.6)
right(90)
fd(92*0.66)
left(90)
def small_box(width, height):
left(90)
fd(height)
fillcolor('#F5F5F5')
begin_fill()
left(90)
fd(width)
pencolor("#E8E8E8")
right(90)
fd(33)
right(90)
fd(width)
right(90)
fd(33)
pencolor("black")
penup()
right(90)
fd(width)
right(90)
fd(33)
end_fill()
# left(90)
# first_floor_box()
def element_1():
left(90)
first_floor_box()
small_box(65*0.66,92*0.66)
for i in range(5):
box()
small_box(65*0.66,75*0.66)
box()
left(90)
fd(75*0.66)
fillcolor('#F5F5F5')
begin_fill()
left(90)
fd(65*0.66)
pencolor("#E8E8E8")
right(90)
fd(50)
right(90)
fd(65*0.66)
right(90)
fd(50)
pencolor("black")
penup()
right(90)
fd(65*0.66)
right(90)
fd(50)
end_fill()
def special_box():
left(90)
fd(92*0.66)
left(90)
fd(6.66*3)
right(90)
fd(33)
pendown
right(90)
fd(6.66*3)
for i in range(6):
left(90)
fd(75*0.66)
left(90)
fd(6.66*3)
right(90)
fd(33)
right(90)
fd(6.66*3)
left(180)
pencolor("white")
fd(6.66*3)
right(90)
pencolor("black")
fd(17)
right(90)
fd(6.66*3)
right(90)
fd(918*0.66)
left(90)
def door(d,part):
left(90)
fd(92*0.66)
right(90)
fd(part*1.5)
right(90)
fd(92*0.66)
right(180)
fd(30*0.66)
left(90)
fd(part*1.5)
right(180)
fd(1.5*part*0.5)
left(90)
fd(62*0.66)
right(90)
fd(1.5*part*0.5)
def window(w):
left(90)
fd(w)
right(90)
fd(65*0.5)
right(90)
fd(w)
right(180)
fd(27*0.66)
left(90)
fd(60*0.5)
right(180)
fd(60*0.5*0.5)
left(90)
fd(25)
right(90)
fd(60*0.5*0.5)
right(90)
fd(w)
left(90)
fd(10)
def left_building():
pendown()
fillcolor('#F5F5F5')
begin_fill()
for i in range(2):#左竖柱
fd(918*0.66)
right(90)
fd(6.66)
right(90)
right(90)
end_fill()
fd(6.66)
#特殊间隔
fd(6.66*3)
special_box()
#左建筑主体
pillars_1()
element_1()
pendown()
pencolor("black")
right(90)
fd(65*0.66)
right(90)
penup()
fd(918*0.66)
left(90)
pillars_2()
element_1()
fd(1)
for i in range(3):
right(90)
pendown()
fd(65*0.66)
right(90)
fd(918*0.66)
left(90)
pillars_2()
element_1()
fd(1)
right(90)
pendown()
fd(65*0.66)
right(90)
fd(918*0.66)
left(90)
pillars_2()
right(90)
pendown()
fd(65*0.66-43)
left(90)
def middle_building(w,d,part):
fd(d)
left(90)
fd(92*0.66)
left(90)
fd(78.5)
for i in range(5):
door(d,part)
right(90)
fd(92*0.66)
left(90)
fd(78.5)
left(180)
fd(d-1)#
left(90)
fd(32.5)
left(90)
fd(d)
left(180)
fd(d)
for i in range(5):
left(90)
fd(75*0.66)
left(90)
fd(20)
for i in range(10):
window(w)
fd(10.5)
right(180)
fd(d)
left(90)
fd(32.5)
left(90)
fd(d-0.5)
left(180)
fd(d)
left(90)
fd(75*0.66)
left(90)
fd(20)
for i in range(10):
window(w)
fd(10.5)
right(180)
fd(d)
left(90)
fd(48.5)
left(90)
fd(d)
right(180)
fd(d)
right(90)
fd(918*0.66+1)
left(90)
def right_building():
pillars_1()
element_1()
pendown()
pencolor("black")
right(90)
fd(65*0.66)
right(90)
penup()
fd(918*0.66)
left(90)
pillars_2()
element_1()
for i in range(3):
right(90)
pendown()
fd(65*0.66)
right(90)
fd(918*0.66)
left(90)
pillars_2()
element_1()
fd(1)
right(90)
pendown()
fd(65*0.66)
right(90)
fd(918*0.66)
left(90)
pillars_2()
pendown()
pencolor("black")
fd(6.66*3)
left(90)
for i in range(2):#右竖柱
fd(918*0.66)
right(90)
fd(6.66)
right(90)
right(90)
special_box()
def main(w,d,part):
speed(0)
delay(0)
penup()
pencolor("black")
setup(1850,970)
goto(-720,-330)
seth(90)
left_building()
middle_building(w,d,part)
right_building()
library()
hideturtle()
def library():
penup()
pencolor("gold")
left(180)
fd(640)
right(90)
fd(400)
right(90)
write("图", False, "center", font=("FangSong", 21, "bold"))
fd(102.2)
write("书", False, "center", font=("FangSong", 21, "bold"))
fd(102.2)
write("馆", False, "center", font=("FangSong", 21, "bold"))
w = 65*0.66
part = 60*0.66
d = 65*0.7*10
main(w,d,part)
效果图
应付学校要求,码个图校庆,感觉码得真烂。