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:
import turtle
def adn_tartaruga(tartaruga, adn):
""" Simula o comportamento da tartaruga ditado pelo seu ADN."""
tartaruga.down()
for car in adn:
if car == 'f':
tartaruga.fd(50)
elif car == 't':
tartaruga.bk(50)
elif car == 'd':
tartaruga.rt(45)
else:
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:
import turtle
def adn_tartaruga(tartaruga, adn):
""" Simula o comportamento da tartaruga ditado pelo seu ADN."""
adn.lower()
TAM = 60
ANG = 45
comandos = 'fted'
tartaruga.down()
for car in adn:
if car not in comandos:
print 'Comando desconhecido...bye'
break
elif car == 'f':
tartaruga.fd(TAM)
elif car == 't':
tartaruga.bk(TAM)
elif car == 'd':
tartaruga.rt(ANG)
else:
tartaruga.lt(ANG)
Agora é só experimentar.
podia inserir a resolução do 5.1
ResponderEliminarobrigado!