Jump to content

Recommended Posts

Posted
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)

  • Ancien du Bureau
Posted
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 ! 

Posted
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 

 

  • Ancien du Bureau
Posted
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 

Posted
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

  • Ancien du Bureau
Posted
à 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"

 

Posted
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!

  • 2 weeks later...
Posted
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...

Posted (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 by Shrex
Posted
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! ^^

Posted (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 by cassolnousmanque
Posted

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 😉

Posted (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 by cassolnousmanque

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