Python boucle while

Résolu/Fermé
Enz0lanterne828 Messages postés 50 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 21 mars 2020 - Modifié le 8 janv. 2020 à 17:58
 trifou - 8 janv. 2020 à 20:03
Bonjour,

Récemment j'ai fait un programme python sauf que mon programme ne fonctionne pas correctement.
Je voulais faire une boucle while sauf que la boucle ne fonctionne pas.
Voilà mon programme:
while point_de_vie <= 0:
        print ('Tu es mort mais ce n"est pas grave, tu peux recommencer la partie autant de fois que tu le voudras.')
        sleep(3.5)
        print ('Tu pourras recommencer en changeant tes choix ou en gagnant les combats')
        System.exit(0);
while point_de_faim <= 0:
        print ('Tu as trop faim donc tu perd 15 Points De Vie')
        sleep(3)
        print ('Heureusement tu remarques que tu as une barre de kinder dans ta poche ce qui te donne 15 Points De Faim')
        point_de_faim = point_de_faim + 15
        point_de_vie = point_de_vie - 15
        System.exit(0);
while point_de_vie > 100:
        print ('*ASTUCE* Tu ne peux pas avoir plus de 100 Points De Vie')
        point_de_vie = 100
while point_de_faim > 100:
        print ('*ASTUCE* Tu ne peux pas avoir plus de 100 Points De Faim')
        point_de_faim = 100
if suite == 2:
    point_de_vie = point_de_vie - 10000


La boucle while ne s’exécute pas correctement.

Merci, cordialement

6 réponses

Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 336
8 janv. 2020 à 17:58
Bonjour,

Merci de saisir ton code et de lui attribuer la couleur syntaxique et la forme correcte avec le bouton
<>
.
1
Bonsoir,

En utilisant
System.exit(0)
, tu devrais quand même avoir un indice de ce que c'est censé faire.

Dans ton code, ce n'est pas de boucles dont tu as besoin, mais de conditions.
1
Enz0lanterne828 Messages postés 50 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 21 mars 2020 8
8 janv. 2020 à 18:03
D'accord désolé je ne savais pas.
0
Enz0lanterne828 Messages postés 50 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 21 mars 2020 8
Modifié le 8 janv. 2020 à 19:21
Bonsoir,

Donc en quelque sorte je dois mettre if à la place de while ?

Désolé je me suis mal exprimer. Ce code doit être appliqué à l'infini donc je dois bien utiliser while non ?
If ne serre que 1 seul fois donc si j'utilise if et que par exemple la variable point_de_vie atteint 0 le code ne fonctionneras pas alors que si j'utilise while le code devras être pris en compte en continue non ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Enz0lanterne828 Messages postés 50 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 21 mars 2020 8
Modifié le 8 janv. 2020 à 19:24
Ha non j'ai mal compris le sens de la boucle while désolé, il fallait mettre if après while comme ça:
<code>while if point_de_vie <= 0:
        print ('Tu es mort mais ce n"est pas grave, tu peux recommencer la partie autant de fois que tu le voudras.')
        sleep(3.5)
        print ('Tu pourras recommencer en changeant tes choix ou en gagnant les combats')
        System.exit(0);
while if point_de_faim <= 0:
        print ('Tu as trop faim donc tu perd 15 Points De Vie')
        sleep(3)
        print ('Heureusement tu remarques que tu as une barre de kinder dans ta poche ce qui te donne 15 Points De Faim')
        point_de_faim = point_de_faim + 15
        point_de_vie = point_de_vie - 15
        System.exit(0);
while if point_de_vie > 100:
        print ('*ASTUCE* Tu ne peux pas avoir plus de 100 Points De Vie')
        point_de_vie = 100
while if point_de_faim > 100:
        print ('*ASTUCE* Tu ne peux pas avoir plus de 100 Points De Faim')
        point_de_faim = 100<code python>

Là normalement ça devrais fonctionner !
0
Enz0lanterne828 Messages postés 50 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 21 mars 2020 8
8 janv. 2020 à 19:27
Non je dis n'importe quoi.
Enfaite je veux faire une condition qui est infini, est-ce-possible ?
0
Une condition infinie n'a aucun sens, une boucle infinie en revanche si.
Mais selon ton code, pas de boucle infinie à faire.

Du moins faudrait savoir ce que tu veux faire, parce que faire des boucles, c'est bien, encore faut-il y intégrer des choses pour pouvoir en sortir.

Parce que si on fait (NE PAS LANCER CE SCRIPT).

while point_de_vie > 0:
    if point_de_faim <= 0:
        print ('Tu as trop faim donc tu perd 15 Points De Vie')
        sleep(3)
        print ('Heureusement tu remarques que tu as une barre de kinder dans ta poche ce qui te donne 15 Points De Faim')
        point_de_faim = point_de_faim + 15
        point_de_vie = point_de_vie - 15
    if point_de_vie > 100:
        print ('*ASTUCE* Tu ne peux pas avoir plus de 100 Points De Vie')
        point_de_vie = 100
    if point_de_faim > 100:
        print ('*ASTUCE* Tu ne peux pas avoir plus de 100 Points De Faim')
        point_de_faim = 100

print ('Tu es mort mais ce n"est pas grave, tu peux recommencer la partie autant de fois que tu le voudras.')
sleep(3.5)
print ('Tu pourras recommencer en changeant tes choix ou en gagnant les combats')


On ne pourra jamais sortir de la boucle, et en l’occurrence on aura une boucle infinie.
0