zazouette Posted March 15, 2021 Posted March 15, 2021 (edited) salutt! je suis tombée sur un post à propos de ce sujet, mais malheureusement mon cerveau de pigeon n'a pas compris c'est ce programme : from printer import * def enumerermot(debut, longueur): if longueur == 0: print(debut) return enumerermot(debut + "a", longueur - 1) enumerermot(debut + "b", longueur - 1) enumerermot(debut + "c", longueur - 1) nombreLu = int(input()) enumerermot ("", nombreLu) du coup on a 2 dans input, qui va nous faire afficher : aa ab ac ba bb bc etc... sauf que je comprends pas vraiment comment ça tourne étant donné que y'a plusieurs appels de la fonction, donc je m'embrouille.... si jamais vous avez un peu de temps pour dérouler le tout début (juste le "enumerermot(debut + "a", longueur - 1) ce serait top ! même moins, ça me va je veux pas vous prendre votre temps de révisions ! merci beaucouup ! Edited March 16, 2021 by Tartiflemme Quote
Solution E182 Posted March 15, 2021 Solution Posted March 15, 2021 (edited) longueur = nombreLu (ex : 2) et le début est un ensemble vide " ". En gros à chaque fois tu vas ajouter au début = " " soit "a" soit "b" soit "c" et tu vas diminuer ta longueur de 1 (2-1 = 1) tu as donc longueur égale à 1. vu que c'est pas égale à 0 tu recommence et t'ajoutes à tes débuts précédente ("a", "b" ou "c") une nouvelle fois soit "a" soit "b" soit "c" et tu vas diminuer ta longueur de 1 (1-0 = 0) et vu que tu as 0 maintenant tu recopie tout simplement les différents début c'est à dire les différents aa, ab, ac, ba, bb, bc ... En gros c'est comme pour la classification de Darwin (#métaphore) de base t'as 3 boîte (=boucles) qui se fond "a", "b" et "c" et dans chacune de ses boucles on emboîte trois nouvelles boucles "+a", "+b" et "+c" etc... ps : si de base tu avais longueur = 4, tu aurai du recommencer la boucle 4 fois -> début = "aaaa", "abaa", "acaa" ... désolé c'est pas très clair... tu as compris ? Edited March 15, 2021 by E182 Quote
zazouette Posted March 16, 2021 Author Posted March 16, 2021 (edited) @E182 coucouu c'est bon je crois avoir compris ! je vais tenter le *** merci ! Edited March 16, 2021 by Tartiflemme E182 1 Quote
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.