Jump to content

Mots contraints informatique


Go to solution Solved by Sans-Visage,

Recommended Posts

  • Ancien Responsable Matière
Posted

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 

 

  • Ancien Responsable Matière
Posted

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

  • Ancien du Bureau
  • Solution
Posted

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 ?

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...