Métacarposaure Posted February 16, 2021 Posted February 16, 2021 Bonsoir Est ce que quelqu'un peut m'expliquer ce programme en Language courant étape par étape ?.... J'ai des difficultés à le dérouler dans ma tête https://goopics.net/i/5OvK1 Merciiii Quote
Ancien du Bureau Sans-Visage Posted February 16, 2021 Ancien du Bureau Posted February 16, 2021 Coucouuu <33 10 fois, le programme va se répéter : Il lit le mot, On considère par défaut que toutes les lettres sont différentes On va répéter autant de fois qu'il y a de lettres (n fois): La variable lettre devient la lettre à l'indice (n) On pose que le nombre d'occurrence de cette lettre est 0 On répète pour autant de fois qu'il y a de lettres dans le mot: Lettre par lettre, on vérifie si elle correspond à la lettre qu'on a enregistré dans la variable lettre Si la lettre est identique à la variable lettre on rajoute 1 au nombre d'occurrences (qu'on a posé à 0) A la fin de cette boucle, si le nombre d'occurrences est de 1, c'est qu'on a bien une seule fois la lettre (c'est à dire, à l'endroit d'où on est partit au départ), si il est supérieur à 1, ça veut dire qu'il y a deux (ou plus) fois la lettre en question! donc elles ne sont pas toutes différentes Si elles sont toutes différentes, on écrit le mot ^^ C'est bon pour toi ? si y a besoin je te le détaille plus et je mets des couleurs et des espaces mdrrr Alpass, Vaiana, Métacarposaure and 1 other 3 1 Quote
Solution PASSamycasa Posted February 16, 2021 Solution Posted February 16, 2021 Salut !! alors je vais essayer... J'espère que je serai claire mais c'est pas sure Repeter 10 fois : - mot = entrée - variable nommée "toute différente" = True (ce qui veut dire qu'on veut considérer au départ qu'elles sont toutes différentes et si on arrive à montrer par la suite que ce n'est enfait pas le cas, on dira que cette variable est en faite False) - pour pos allant de 0 à len(mot) c'est à dire le nombre de caractère qu'il y a dans le mot (len est une fonction qui permet de compter le nombre de caractères présents dans une variable) Donc pour rose ça va etre pour la position allant de 0 à 4 ° on attribue à la variable "lettre" le caractère présent à la position pos dans le mot (les crochets te permettent ici de te situer dans ta variable) par exemple pour rose quand pos = 0 : lettre = caractère du mot à la position 0 (qui est enfait la premiere lettre) = r ° nbrOcc = 0 c'est enfait le nombre de fois où tu trouves ta lettre dans un mot ° for pos2 (...) ça enfait c'est pour une fois que tu as pris une lettre, tu vas "balayer" toutes les autres lettre pour voir si il y a une autre lettre comme elle ducoup tu demande "if lettre == mot à la position pos2 alors le nombre de fois où tu trouves ta lettre dans le mot (NbOcc) augmente de 1 " Donc si on reprend l'exemple du mot rose, dans ta boucle pos tu auras definis lettre = r. Dans ta boucle pos2 tu regarde si r=r puis si r=o puis si r =s puis si r=e. La tu auras forcément nbOcc = 1 car le R apparait qu'une fois °if nbOcc>1 ça c'est pour tester si ta lettre est apparu plus de une fois (ce qui voudrait dire que les lettres ne sont pas toutes differentes). Si c'est le cas la variable "Toutedifférente" devient fausse Ces boucles tu vas les répétés 10 fois (pour chaque mots) et pour chaque lettre (boucle pos) du mot tu balayes toutes les autres lettres (boucle pos2) A la fin tu demande si la variable "toutedifférentes" est toujours vrai, et si c'est le cas tu peux alors afficher le mot ! Voilà j'ai essayer de détailler au max, j'espère ne pas t'avoir perdu(e)... Bon couraaaage @TACKonquis_mon_coeur t'es trop rapide pour moi à chaque fois, c'est fou ! Métacarposaure and Vaiana 1 1 Quote
Ancien du Bureau Sans-Visage Posted February 17, 2021 Ancien du Bureau Posted February 17, 2021 Il y a 8 heures, PASSamycasa a dit : @TACKonquis_mon_coeur t'es trop rapide pour moi à chaque fois, c'est fou ! Le tiens est mieux mis en forme haha ^^ PASSamycasa 1 Quote
Métacarposaure Posted February 17, 2021 Author Posted February 17, 2021 (edited) Merci infiniment pour le temps que vous avez donné à écrire ces programmes @PASSamycasa et @TACKonquis_mon_coeur Je suis super embêtée maintenant pour choisir qui mettre en solution ahah Passez une bonne journée, je pense à vous Edited February 17, 2021 by métacarposaure Quote
PASSamycasa Posted February 17, 2021 Posted February 17, 2021 il y a 50 minutes, métacarposaure a dit : Merci infiniment pour le temps que vous avez donné à écrire ces programmes @PASSamycasa et @TACKonquis_mon_coeur Je suis super embêtée maintenant pour choisir qui mettre en solution ahah Passez une bonne journée, je pense fort à vous Contente si ça t'a éclairé ! Pas important pour le résolu, mets @TACKonquis_mon_coeur Bonne journée à toi aussi, force et courage Quote
Ancien du Bureau Sans-Visage Posted February 17, 2021 Ancien du Bureau Posted February 17, 2021 C'est pas important pour moi non plus, tout ce qui compte c'est les 1000 messages pour pouvoir changer mon titre :')) Métacarposaure 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.