zazouette Posted March 5, 2021 Posted March 5, 2021 Le 04/03/2021 à 12:06, DuTACKauTac a dit : from printer import * def gen(nombre, chiffre): if nombre == 0: return str(chiffre) return gen(nombre - 1, chiffre + 1) + gen(nombre - 1, chiffre - 1) print(gen(2, 4)) Il va falloir faire une sorte " d'arbre " pour voir bien comment il se déroule : gen(2,4) gen(1,5) + gen(1,3) gen(0,6) + gen(0,4) | gen(O,4) + gen(0,2) = "6" | ="4" | = "4" | = "2" Ensuite on remonte simplement en additionnant ce qu'on a trouvé (comme c'est des str on obtient bien 6442) ! C'est bon pour toi ? déjà merci pour cette super explication ! j'ai une question, jcomprends pas comment on remonte ? On prend juste str() de chaque nombre == 0 ? (que j'ai mis en bleu) Quote
Ancien du Bureau Sans-Visage Posted March 5, 2021 Ancien du Bureau Posted March 5, 2021 il y a 48 minutes, Tartiflemme a dit : déjà merci pour cette super explication ! j'ai une question, jcomprends pas comment on remonte ? On prend juste str() de chaque nombre == 0 ? (que j'ai mis en bleu) Je suis pas sur de comprendre la question Mais en gros arrivé tout en bas, quand t'as tout déroulé, nombre == 0 et le programme de dit de return le str de la variable chiffre associée. Et ensuite on remonte en additionnant les str obtenus Désolé si c'est à coté de la plaque, hésite pas à reformuler la question si c'est le cas stp ! Quote
zazouette Posted March 5, 2021 Posted March 5, 2021 il y a une heure, DuTACKauTac a dit : Je suis pas sur de comprendre la question Mais en gros arrivé tout en bas, quand t'as tout déroulé, nombre == 0 et le programme de dit de return le str de la variable chiffre associée. Et ensuite on remonte en additionnant les str obtenus Désolé si c'est à coté de la plaque, hésite pas à reformuler la question si c'est le cas stp ! Ok oui oui c'est bon ! :))) j'avais pas bien compris l'histoire du return quand nombre == 0, je pensais que dans tous les cas on remontait jusqu'à 4 Quote
Ancien du Bureau Sans-Visage Posted March 5, 2021 Ancien du Bureau Posted March 5, 2021 il y a 15 minutes, Tartiflemme a dit : Ok oui oui c'est bon ! :))) j'avais pas bien compris l'histoire du return quand nombre == 0, je pensais que dans tous les cas on remontait jusqu'à 4 On remonte bien jusqu'à 4 ! Mais quand nombre==0, on a enfin un "point d'ancrage" qui nous permet de remonter ! Donc une fois qu'on a ces valeurs, on peut trouver nombre(1,3et5) et nombre(2,4) <- celui qu'on cherche Quote
zazouette Posted March 5, 2021 Posted March 5, 2021 il y a 11 minutes, DuTACKauTac a dit : On remonte bien jusqu'à 4 ! Mais quand nombre==0, on a enfin un "point d'ancrage" qui nous permet de remonter ! Donc une fois qu'on a ces valeurs, on peut trouver nombre(1,3et5) et nombre(2,4) <- celui qu'on cherche ah alors j'ai pas compris mais t'en fais pas là jvais me coucher je regarderai ça plus tard haha Quote
Ancien du Bureau Sans-Visage Posted March 5, 2021 Ancien du Bureau Posted March 5, 2021 à l’instant, Tartiflemme a dit : ah alors j'ai pas compris mais t'en fais pas là jvais me coucher je regarderai ça plus tard haha Si je m'en fais. Je veux mon chocolat. Il va falloir faire une sorte " d'arbre " pour voir bien comment il se déroule : gen(2,4) gen(1,5) + gen(1,3) gen(0,6) + gen(0,4) | gen(O,4) + gen(0,2) = "6" | ="4" | = "4" | = "2" Une fois arrivé là, on repart juste dans l'autre sens ! Gen(1,5) = gen(0,6) + Gen(0,4) = "6" + "4" = "64" Gen(1,3) = gen(0,4) + gen(0,2) = "4" + "2" = "42" Gen(2,4) = gen(1,5) + gen(1,3) = "64" + "42" = "6442" zazouette and Shrex 1 1 Quote
zazouette Posted March 6, 2021 Posted March 6, 2021 Il y a 9 heures, DuTACKauTac a dit : Si je m'en fais. Je veux mon chocolat. choco quoi? ok du coup mercii je pense que j'ai mieux compris, après honnêtement je vais pas refaire de l'informatique ce week - end parce que là j'ai eu ma dose (en échange de chocolat on peut échanger nos copies à l'examn stp?) Il y a 9 heures, Shrex a dit : y a pas de react chocolat faut que tu proposes ça! Sans-Visage 1 Quote
reyerika Posted March 14, 2021 Posted March 14, 2021 Le 04/03/2021 à 12:40, DuTACKauTac a dit : Hey ! Désolé c'est pas Shrex j'espère que tu m'en voudras pas :') Ton gen(0) deviendra bien <, sauf que gen(1,"<") est égal à gen(0,<) + lettre + gen(0,>), soit à <<> Et pareil avec le gen(1,">") C'est plus clair ? Bonjour! alors ma question est peut-être bête, mais pour le programme dont vous parlez, je ne comprends pas comment à la fin on obtient "I" dans le résultat puisque qu'on utilise pas pour moi cette "lettre". Pour moi les lettres qui apparaissent dans les gen0 sont soit < soit > et je pensais qu'on affichait ce qu'il y avait dans gen0 et pas le gen2... c'est très mal dit mais je ne sais pas le dire autrement... Quote
Shrex Posted March 14, 2021 Posted March 14, 2021 (edited) il y a 15 minutes, reyerika a dit : je ne comprends pas comment à la fin on obtient "I" Alors je suis pas sûr vu que c'est pas moi le Fan de Tack mais je pense qu'il a utilisé | pour pouvoir mettre en page, genre c'était juste pour séparer les variables pour que ce soit plus facile à comprendre Edit : OUPS tu parles peut être de ça ?? (parce que | était dans l'exo avec 6442 donc j'ai peut être confondu avec /, cette phrase n'a aucun sens...) gen(2, "/") gen(1,"<") + lettre + gen(1,">") gen(0,"<") + gen(0,">") + lettre + gen(0,"<") + gen(0,">") => <>/<> Si oui tu peux essayer de comprendre les autres messages (sauf si tu l'as déjà fait) car TackMaster l'explique assez bien, mais de toute façon ne te prend pas la tête c'est un exemple qui n'a pas vraiment de sens, c'était juste pour aider Phagocytose... Et si "non" bah je suis à côté de la plaque désolé haha Edited March 14, 2021 by Shrex zazouette and Sans-Visage 1 1 Quote
reyerika Posted March 18, 2021 Posted March 18, 2021 Le 14/03/2021 à 18:14, Shrex a dit : Alors je suis pas sûr vu que c'est pas moi le Fan de Tack mais je pense qu'il a utilisé | pour pouvoir mettre en page, genre c'était juste pour séparer les variables pour que ce soit plus facile à comprendre Edit : OUPS tu parles peut être de ça ?? (parce que | était dans l'exo avec 6442 donc j'ai peut être confondu avec /, cette phrase n'a aucun sens...) gen(2, "/") gen(1,"<") + lettre + gen(1,">") gen(0,"<") + gen(0,">") + lettre + gen(0,"<") + gen(0,">") => <>/<> Si oui tu peux essayer de comprendre les autres messages (sauf si tu l'as déjà fait) car TackMaster l'explique assez bien, mais de toute façon ne te prend pas la tête c'est un exemple qui n'a pas vraiment de sens, c'était juste pour aider Phagocytose... Et si "non" bah je suis à côté de la plaque désolé haha oui j'ai fini par comprendre merci beaucoup! ^^ Quote
cassolnousmanque Posted March 21, 2021 Posted March 21, 2021 (edited) Le 04/03/2021 à 12:58, Phagocytose a dit : Haha nonnnnnnn Du coup on prend en compte le < parce que gen(1,"<") = gen(0,"<") + gen(0,">") => <<> Mais alors je comprends pas pourquoi on fait pas pareil avec l'autre programme (celui détaillé par Shrex) : on peut aussi dire que gen(2,"<",">") = gen(1,"<",">") + gen(1,">","<") => gen(2,"<",">") = gen(0,"<",">") + gen(0,">","<") + gen(0,">","<") + gen(0,"<",">") et l'autre gen(2,">","<") = gen(1,">","<") + gen(1,"<",">") => gen(2,">","<") = gen(0,">","<") + gen(0,"<",">") + gen(0,"<",">") + gen(0,">","<") Donc on aurait en ajoutant les 2 <<>>< et >><<> =><<>>< >><<> coucou @Shrexje suis de retour à nouveau (je vous ai dit je vais être hyper présente sur le forum aujourd'hui pour capter cette satanée mineure info) en plus je lis vos réponses d'avant mais je sais pas je capte pas donc bon donc sur ce programme là on nous dit Le programme suivant affiche "<<<|>>>" : from printer import * def gen(nombre, lettre): if nombre == 0: return lettre return gen(nombre - 1, "<") + lettre + gen(nombre - 1, ">") print(gen(2, "|")) gen 2,"/" gen2-1 "<" = gen 1 < + lettre qui est ici "<" c'est ça ? + gen 2-1, ">" = gen 1 > => si on additionne ça fait <<> gen 1-1"<" = gen 0 < + lettre qui est ici < + gen 1-1">" = gen 0 > => si on additionne ça fait <<> on met "/" entre les deux donc <<>/<<> ?? Edited March 21, 2021 by cassolnousmanque Quote
Shrex Posted March 21, 2021 Posted March 21, 2021 Hello @cassolnousmanque(pas) !!!! Bon y a un petit pb dans ton programme mais rien de très grave du coup je vais détailler le tout : gen(2,"|") gen(1,"<") + "|" + gen(1,">") gen(0,"<") + "<" + gen(0,">") + "|" + gen(0,"<") + ">" + gen(0,">") <<>|<>> Si tu veux une explication étape par étape je verrais ce que je peux faire Quote
cassolnousmanque Posted March 21, 2021 Posted March 21, 2021 (edited) il y a 8 minutes, Shrex a dit : Hello @cassolnousmanque(pas) !!!! Bon y a un petit pb dans ton programme mais rien de très grave du coup je vais détailler le tout : gen(2,"|") gen(1,"<") + "|" + gen(1,">") gen(0,"<") + "<" + gen(0,">") + "|" + gen(0,"<") + ">" + gen(0,">") <<>|<>> Si tu veux une explication étape par étape je verrais ce que je peux faire ok je crois que c'est bon j'ai compris celui là, je vais faire les autres et je te dis si j'ai un pb merciii Edited March 21, 2021 by cassolnousmanque 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.