Boucle while à casser... svp
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 40

Boucle while à casser... svp



  1. #1
    cancdigo

    Smile Boucle while à casser... svp


    ------

    Bonjour,

    Je suis désolé, mais je n’ai pas cherché s’il existait déjà un post sur le sujet dont je vais vous parler.
    Voilà, je connais quelqu’un qui a un souci de programmation avec Python.
    Il n’arrive pas à casser une boucle ‘while’.
    Si ça peut vous aider, je sais que, dans le programme qu’il doit faire, l’utilisateur devra choisir un nombre (il me semble que c’est entre 1 et 100) et il aura comme réponse ‘c’est plus’, ‘c’est moins’ ou ‘bravo’, voilà ça ressemble à ça. Je sais que, lorsqu’il lançait le programme, le programme ne s’arrêtait pas, c’est pourquoi, si j’ai bien compris son explication, il cherchait à casser la boucle ‘while’ en question.
    J’ai pensé à mon forum futura et je me suis dit que ça pouvait être LA solution car sur notre ami Google, il n’a rien trouvé et moi, je veux bien l’aider à chercher un peu plus profondément sur Google avec des phrases en anglais par exemple, mais je ne sais pas si je trouverai ce qu’il lui faut finalement.

    Merci.

    Ah oui, oups... il doit faire ça pour avant hier !

    Merci beaucoup d’avance pour lui.

    Cordialement.

    Cancdigo

    -----

  2. #2
    Deedee81

    Re : Boucle while à casser... svp

    Salut,

    Il y a une instruction pour ça : break;
    Ca permet de sortir de la boucle (heu, si "casser" veut bien dire ça ).
    "Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)

  3. #3
    cancdigo

    Re : Boucle while à casser... svp

    Bonjour Deedee81,

    Merci pour ta réactivité ! Il a utilisé ‘break’, mais ça n’a pas marché.
    Je peux peut-être lui demander ce qu’il a fait et le poster afin que vous voyez où est le problème ? Ça peut aussi être une idée. Je vais voir si je peux copier ce qu’il a fait et le mettre sur ce post.
    En attendant, si vous avez des idées...
    Merci.

  4. #4
    cancdigo

    Re : Boucle while à casser... svp

    J’ai eu d’autres infos.
    Au début il n’a pas utilisé la fonction ‘break’. Son programme s’exécutait à l’infini puis il a utilisé la boucle break mais son programme ne se réalisait qu’une fois. Le programme ne relançait par pour dire ‘c’est plus’ ou ‘c’est moins’.

  5. A voir en vidéo sur Futura
  6. #5
    Deedee81

    Re : Boucle while à casser... svp

    Ah ! D'accord.

    Il faudra peut-être le détail du code (en tout cas de la boucle) pour comprendre le soucis.
    "Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)

  7. #6
    Jack
    Modérateur

    Re : Boucle while à casser... svp

    Il faut regarder l'expression logique du while: soit elle est incorrecte, soit elle ne peut pas varier à chaque itération de la boucle.

  8. #7
    pm42

    Re : Boucle while à casser... svp

    La condition du while peut également inclure un & sur une variable booléenne. Elle est à true avant la boucle et quand on veut sortir, on la met à false.

    Mais sans le code, pour un tiers et pour avant hier, on est un peu dans le surréalisme.

  9. #8
    invite896757ff

    Re : Boucle while à casser... svp

    En gros, dans la boucle: On lit une entrée, tant que le résultat n'est pas bon (plus ou moins) la boucle tourne; on ne sort de la boucle que pour afficher: "Gagné!"; et donc la sortie de boucle est fonction (le "alors") d'un test.

  10. #9
    cancdigo

    Re : Boucle while à casser... svp

    Merci à tous !
    Je vais essayer de vous envoyer la photo de son programme. Je l’ai eue.

  11. #10
    CM63

    Re : Boucle while à casser... svp

    Citation Envoyé par cancdigo Voir le message
    Merci à tous !
    Je vais essayer de vous envoyer la photo de son programme. Je l’ai eue.
    Ah je ne sais pas si cela va suffire, il vaudrait mieux un scanner 3D , on verrait l'épaisseur du trait de crayon

  12. #11
    cancdigo

    Re : Boucle while à casser... svp

    Ça y est, ça ne fonctionnait pas. Je viens d'y arriver. Je vous l'envoie.

    Nom : P_20191104_151421.jpg
Affichages : 128
Taille : 232,8 Ko

  13. #12
    pm42

    Re : Boucle while à casser... svp

    Vu que le input n’est pas dans la boucle cela ne risque pas de marcher.

    Ce n’est pas un problème de sortie de boucle, c’est un problème de code massivement faux avec une boucle sans fin.

  14. #13
    Jack
    Modérateur

    Re : Boucle while à casser... svp

    Ce n'est pourtant pas si difficile d'exécuter un programme en pas à pas, surtout avec un interpréteur ...

  15. #14
    cancdigo

    Re : Boucle while à casser... svp

    Alors, j'ai autre chose : ce qu'il doit faire...

    Nom : 1572887930419428496969.jpg
Affichages : 129
Taille : 53,9 Ko

  16. #15
    cancdigo

    Re : Boucle while à casser... svp

    C'est quelqu'un qui débute.

  17. #16
    cancdigo

    Re : Boucle while à casser... svp

    Et moi, j’y connais rien du tout...
    Dernière modification par cancdigo ; 04/11/2019 à 18h30.

  18. #17
    Jack
    Modérateur

    Re : Boucle while à casser... svp

    Ok
    Tu pourras lui dire de s'intéresser au mode d'exéution pas à pas (ou instruction par instruction).
    Sinon, dis-lui que son problème vient du fait qu'il n'as pas réalisé le point N°2, en tout cas pas dans la boucle.
    Dernière modification par Jack ; 04/11/2019 à 18h33.

  19. #18
    cancdigo

    Re : Boucle while à casser... svp

    Il est avec moi. Il va pouvoir discuter avec vous.

  20. #19
    pm42

    Re : Boucle while à casser... svp

    Les questions qu'il doit se poser :

    - combien de fois sa question (input) va être exécutée ?
    - si la réponse est fausse, combien de fois sa boucle va être exécutée ?

    Et comme le dit Jack, tous les environnements sérieux permettent d'avoir un debugger et de faire du pas à pas en programmation.
    S'il débute, c'est sans doute la 1ère chose qu'il doit apprendre parce que cela lui permettra de trouver ses bugs et de comprendre ses programmes très rapidement. Sinon, il a de bonnes chances de mettre 10 fois plus de temps (au moins).

  21. #20
    cancdigo

    Re : Boucle while à casser... svp

    Oui bonjour, alors étant débutant, je ne comprends pas d'où vient mon erreur... Donc, je dois réaliser ce DM, mais je ne comprends pas pourquoi je n’arrive pas à exécuter correctement mon programme, qui est disponible au-dessus... Merci si vous pouvez m’aider 😊

  22. #21
    cancdigo

    Re : Boucle while à casser... svp

    Merci de ta réponse rapide, mais le problème est que je dois trouver un nombre mystère, donc on ne sait pas combien de fois input va être exécuté...

  23. #22
    cancdigo

    Re : Boucle while à casser... svp

    Rebonjour,

    C’est cancdigo. Je prends le relais. il essaye de résoudre le problème avec vos indices mais il n’y arrive pas pour l’instant. Concernant le debugger, je comprends en effet l’utilité. Ce sera en effet intéressant et lui permettrait d’aller plus vite. Au lycée, leur programme n’inclus malheureusement pas cette option. C’est à creuser par soi-même. Bonne idée. Merci. Sinon, avec les photos envoyées, auriez-vous une idée, voire une réponse, qu’il analysera sans recopier bêtement car, là, il galère le pauvre. Merci beaucoup.

  24. #23
    pm42

    Re : Boucle while à casser... svp

    Citation Envoyé par cancdigo Voir le message
    Merci de ta réponse rapide, mais le problème est que je dois trouver un nombre mystère, donc on ne sait pas combien de fois input va être exécuté...
    Ce n'était pas la question.

    Combien de fois va t-il être exécuté dans ton code actuel ?
    Et là, on connait la réponse, elle saute aux yeux.

  25. #24
    Jack
    Modérateur

    Re : Boucle while à casser... svp

    Puisque vous êtes 2, il y a un moyen sympa pour tester des algorithmes basiques comme celui de ce jeu de + ou -:
    Un des 2 joue le rôle du joueur et l'autre celui de l'ordinateur qui va donc poser les question et enregistrer les réponse. Celui qui joue le rôle de l'ordi doit exécuter ses instructions une à une comme le ferait l'ordi.

  26. #25
    cancdigo

    Re : Boucle while à casser... svp

    Ça y est. Il a trouvé. Il a aussi échangé avec d'autres élèves. Son programme fonctionne. Je ne peux pas vous dire exactement car je n'y connais rien. Je vais essayer de poster la photo du programme. Si ça ne fonctionne pas, comme tout à l'heure, je le ferais demain je pense. Merci.

  27. #26
    invite6c250b59

    Re : Boucle while à casser... svp

    Citation Envoyé par cancdigo Voir le message
    Ça y est. Il a trouvé.
    Good. Perso il me semble que l'énoncé pousse à la faute en demandant de définir le "a" avant la boucle (et c'est peut-être voulu, pour fin pédagogique qu'il faut bien faire cette erreur au moins une fois).

    Curiosité, il serait en fait possible de respecter cet ordre, en définissant "a" comme une fonction plutôt qu'une variable.

    Code:
    x = randint(1,100)
    a = lambda : int(input("...
    while a() != x:
       ...
    ...mais c'est pas très standard. Je serais curieux de savoir si quelqu'un voit des inconvénients à cette forme?

  28. #27
    pm42

    Re : Boucle while à casser... svp

    Citation Envoyé par Jiav Voir le message
    Code:
    x = randint(1,100)
    a = lambda : int(input("...
    while a() != x:
       ...
    ...mais c'est pas très standard. Je serais curieux de savoir si quelqu'un voit des inconvénients à cette forme?
    Cela devrait être standard mais en pratique, on n'utilise pas cette forme (avec ou sans lambda qu'on peut remplacer par une fonction) dans la plupart des langages parce qu'on ne peut pas à la fois tester la valeur et l'affecter à une variable qu'on va pouvoir lire dans la boucle.

    Dans le cas présent, la boucle ne pourrait pas dire si c'est est au dessus ou en dessous.

    En python, on peut sans doute s'en sortir : https://stackoverflow.com/questions/...-in-while-loop
    Mais globalement, c'est toujours un grand moment d'écrire ce genre de boucle dans la plupart des langages.

    De mémoire, on peut le faire plus proprement dans les langages qui supportent les continuations (https://en.wikipedia.org/wiki/Contin...nguage_support) mais c'est rare et j'ai très peu pratiqué.

  29. #28
    Jack
    Modérateur

    Re : Boucle while à casser... svp

    Citation Envoyé par Jiav Voir le message
    Good. Perso il me semble que l'énoncé pousse à la faute en demandant de définir le "a" avant la boucle
    Tu as raison, l'énoncé est mal posé car il faut interpréter "tant que le nombre mystère n'a pas été trouvé par le joueur".
    Je suppose qu'il s'agit peut-être d'un exercice du nouveau programme d'informatique au lycée et que le prof découvre un peu aussi de son côté vu que la plupart de ceux-ci ne sont pas prof d'info à la base.
    Dernière modification par Jack ; 05/11/2019 à 10h31.

  30. #29
    cancdigo

    Re : Boucle while à casser... svp

    Bonsoir à tous,

    Je vais essayer de vous envoyer la photo à nouveau.
    Merci de sa part et de la mienne !!!! De très bonnes choses à retenir !!!! Et en effet, il ne comprenait pas, certainement à cause de l'ambiguïté qui pousse à la faute...

    Cordialement.

    Cancdigo

  31. #30
    cancdigo

    Re : Boucle while à casser... svp

    Ça devrait aller... Mon téléphone plante... 😥

    Nom : P_20191104_213921.jpg
Affichages : 108
Taille : 222,8 Ko

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. relation entre gain statique en boucle ouverte et celui en boucle fermee
    Par invite21730e48 dans le forum Électronique
    Réponses: 4
    Dernier message: 29/09/2014, 21h47
  2. problème boucle interruption avec boucle spi
    Par invitef9a5b0e0 dans le forum Électronique
    Réponses: 8
    Dernier message: 16/03/2013, 03h26
  3. Diagramme de Bode boucle ouverte et boucle fermée
    Par invite29a24ce3 dans le forum Physique
    Réponses: 4
    Dernier message: 21/06/2012, 14h24
  4. Probleme boucle for ou boucle do...while imbriquées
    Par invite3d4f2ff3 dans le forum Électronique
    Réponses: 8
    Dernier message: 09/06/2010, 11h32
  5. casser la vooooiix, casser la voooiix !
    Par invite7fbfc161 dans le forum Biologie
    Réponses: 9
    Dernier message: 11/11/2004, 11h27