Jump to content

Mots contraints informatique


Linou
Go to solution Solved by Sans-Visage,

Recommended Posts

  • Ancien Responsable Matière

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 

 

Link to comment
Share on other sites

  • Ancien Responsable Matière

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

Link to comment
Share on other sites

  • Ancien du Bureau
  • Solution

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 ?

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...