Я согласен с исправлением индекса @ maverick, но в первую очередь не вижу необходимости в индексе.Вместо:
for x in range (0,int(size)):
...
leo.forward(bheight[x])
, которое действительно должно быть:
for x in range(size):
...
leo.forward(bheight[x])
почему бы просто не сделать:
for height in bheight:
...
leo.forward(height)
Переработанный код с этим и различными другими стилями исправления:
from turtle import Turtle, Screen
def Water():
leo.penup()
leo.setx(-200)
leo.fillcolor('midnightblue')
leo.begin_fill()
for _ in range(2):
leo.forward(400)
leo.right(90)
leo.forward(150)
leo.right(90)
leo.end_fill()
leo.pendown()
def Building():
leo.fillcolor('darkslategrey')
for height in bheight:
leo.begin_fill()
leo.left(90)
leo.forward(height)
leo.right(90)
leo.forward(20)
leo.right(90)
leo.forward(height)
leo.left(90)
leo.end_fill()
blist = input('Please enter building heights e.g. "50 30 60": ')
bsplit = blist.split()
bheight = list(map(int, bsplit))
screen = Screen()
screen.bgcolor("orange")
leo = Turtle()
Water()
Building()
screen.mainloop()