Como se trata de realizar repetidas vezes a obediência a um comando, que varia ao longo do tempo, o nosso programa vai ter como parte principal um ciclo. Como o número de vezes que executamos é fixo, uma vez conhecida a sequência de comandos, será usado um ciclo for. Vejamos então o código:
01.
import
turtle
02.
03.
def
adn_tartaruga(tartaruga, adn):
04.
""" Simula o comportamento da tartaruga ditado pelo seu ADN."""
05.
tartaruga.down()
06.
for
car
in
adn:
07.
if
car
=
=
'f'
:
08.
tartaruga.fd(
50
)
09.
elif
car
=
=
't'
:
10.
tartaruga.bk(
50
)
11.
elif
car
=
=
'd'
:
12.
tartaruga.rt(
45
)
13.
else
:
14.
tartaruga.lt(
45
)
Este código tem alguns pressupostos: os comandos são letras minúsculas, não há enganos nas letras, as constantes definidas directamente nos argumentos. Alterar o programa para estarmos mais precavidos não é difícil:
01.
import
turtle
02.
03.
def
adn_tartaruga(tartaruga, adn):
04.
""" Simula o comportamento da tartaruga ditado pelo seu ADN."""
05.
adn.lower()
06.
TAM
=
60
07.
ANG
=
45
08.
comandos
=
'fted'
09.
tartaruga.down()
10.
for
car
in
adn:
11.
if
car
not
in
comandos:
12.
print
'Comando desconhecido...bye'
13.
break
14.
elif
car
=
=
'f'
:
15.
tartaruga.fd(TAM)
16.
elif
car
=
=
't'
:
17.
tartaruga.bk(TAM)
18.
elif
car
=
=
'd'
:
19.
tartaruga.rt(ANG)
20.
else
:
21.
tartaruga.lt(ANG)
Agora é só experimentar.
podia inserir a resolução do 5.1
ResponderEliminarobrigado!