Je suis novice en programmation et j'essaie de résoudre une tâche que j'ai reçue de l'école. Je dois construire une fonction qui utilise une tortue pour dessiner quelque chose, à partir d'un argument de type chaîne (comme 'fdltfd' - aller de l'avant, gauche et avancer à nouveau). Ces commandes sont dans un dictionnaire, donc je dois comparer les éléments de la chaîne avec les clés du dictionnaire. S'ils correspondent, ordonnez à la tortue de se déplacer. Le code que j'ai écrit:Un dictionnaire contrôle le mouvement d'une tortue
def execute(turtle, length, args, *cmd):
map = {'fd': turtle.fd(length), 'lt': turtle.lt(args), 'bk': turtle.bk(length), 'rt': turtle.rt(args), 'nop':None}
for command in cmd:
if command in map.keys():
map[command]()
execute(bob, 50, 45, 'fdltfd')
Le problème est que la tortue fait exactement ce qui est dans le dictionnaire, se déplace vers l'avant, vers l'arrière, à gauche et à droite, il ne prend pas la peine de regarder mon boucle for
.
Pouvez-vous s'il vous plaît me donner quelques idées de comment je pourrais faire ce travail? Ou si j'y pense bien? Bien sûr, pas le code pour cela:) ... Merci beaucoup
Merci beaucoup, monsieur. Tu es un sauveur. Avec votre aide, j'ai réussi à changer la fonction d'exécution, alors maintenant, il faut aussi LENGTH et ANGLE comme arguments. J'ai aussi oublié de lambda. Donc, ma tortue est entièrement basée sur la fonction. Encore, merci beaucoup. –