Ancien Responsable Matière Linou Posted February 27, 2021 Ancien Responsable Matière Share Posted February 27, 2021 Bonsoir, Est-ce que quelqu'un aurait la foi et la gentillesse d'expliquer ce qu'il se passe dans ce programme pour les 2 * ? merciiii Quote Link to comment Share on other sites More sharing options...
Ancien Responsable Matière Linou Posted February 27, 2021 Author Ancien Responsable Matière Share Posted February 27, 2021 est ce que return va remettre la "situation" à l'étape avant longueur = 0 (donc avant de printer), donc à l'étape où longueur = 1 ? si oui pourquoi ? et comment ensuite on passe à la première lettre qui vaut b après le A ? bref en gros j'ai rien compris merci Quote Link to comment Share on other sites More sharing options...
Ancien du Bureau Solution Sans-Visage Posted March 3, 2021 Ancien du Bureau Solution Share Posted March 3, 2021 Salut ! Alors je colle le programme : from printer import * def mot(lg,lettre): if lg == 0 : print(lettre) return mot(lg-1, lettre+"a") mot(lg-1, lettre+"b") mot(lg-1, lettre+"c") mot( int(input()),"" ) Return te permet juste d'arrêter le programme "en cours". C'est à dire que, dans l'ordre, le programme débute, il compare lg à 0 (qui n'est pas égal dès le début, sinon il y a pas de lettre, évidemment). On passe à mot(lg-1,lettre+"a"), c'est à dire qu'on va commencer par rajouter un a Imaginons que lg soit 2, on est donc à lg = 1 et lettre = a On recommence le programme (depuis tout en haut) avec ces variables, et on a lg = 0 et lettre = aa On recommence le programme, mais cette fois on a lg == 0, donc on imprime "aa", et on arrête le programme en cours (lg = 0, lettre = aa) pour retourner au dernier programme laissé en suspend dans la récursivité, à savoir lg = 1, lettre = a. Et maintenant on va faire la même chose pour obtenir ab. Est-ce que ça t'aide à comprendre comment ça s'enchaine ? Shrex, Fantôme and Yayou 1 1 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.