Este problema permite mostrar como se pode dominar a complexidade de um problema reutilizando código. Com efeito o que nos é pedido não é mais do que desenhar sucessivos quadrados em que o que vai mudando é o comprimento do lado e a orientação. Assim, usaremos o programa já anteriormente definido que permite desenhar um quadrado, conhecidos o comprimento do lado, a posição inicial e a orientação.
def quad(lado,xcor,ycor,orient):
"""Desenha um quadrado em que o lado, a posição inicial e a orientação inicial podem variar.
"""
penup()
goto(xcor,ycor)
setheading(orient)
pendown()
for i in range(4):
forward(lado)
right(90)
hideturtle()
Com este programa a funcionar como auxiliar tudo se torna mais simples.
def nautilus(n, lado, xcor,ycor, angulo):
"""Desenha n quadrados com lados e orientações variáveis.
Desenha uma forma semelhante a um Nautilus.
"""
reset()
for conta in range(n):
quad(lado,xcor,ycor,angulo)
lado = lado + 10
angulo = angulo + 15
hideturtle()
Sem comentários:
Enviar um comentário