Вы оставили turtle.end_fill()
за пределами функции building()
.Я бы также написал main()
следующим образом:
def main():
turtle.setup(900, 900)
turtle.speed('fastest')
cityscape(-300, -400, 300, 'gray')
cityscape(0, -400, 300, 'gray')
building(-300, -100, 'gray')
turtle.mainloop()
Полный список кода с приведенным выше исправлением и некоторыми изменениями стиля:
from turtle import Screen, Turtle
def main():
screen = Screen()
screen.setup(900, 900)
yertle = Turtle(visible=False)
yertle.speed('fastest')
cityscape(yertle, -300, -400, 300, 'gray')
cityscape(yertle, 0, -400, 300, 'gray')
building(yertle, -300, -100, 'gray')
screen.mainloop()
def cityscape(turtle, x, y, width, color):
turtle.penup()
turtle.goto(x, y)
turtle.pendown()
turtle.color(color)
turtle.begin_fill()
for _ in range(4):
turtle.forward(width)
turtle.left(90)
turtle.end_fill()
def building(turtle, x, y, color):
turtle.penup()
turtle.goto(x, y)
turtle.pendown()
turtle.color(color)
turtle.begin_fill()
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(250)
turtle.left(90)
turtle.forward(70)
turtle.left(90)
turtle.forward(175)
turtle.right(90)
turtle.forward(80)
turtle.right(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(70)
turtle.right(90)
turtle.forward(425)
turtle.right(90)
turtle.forward(425)
turtle.end_fill()
main()