Python boucle while [Résolu]

Signaler
Messages postés
50
Date d'inscription
mercredi 8 janvier 2020
Statut
Membre
Dernière intervention
21 mars 2020
-
 trifou -
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

Messages postés
47770
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
18 septembre 2020
6 153
Bonjour,

Merci de saisir ton code et de lui attribuer la couleur syntaxique et la forme correcte avec le bouton
<>
.
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.
Messages postés
50
Date d'inscription
mercredi 8 janvier 2020
Statut
Membre
Dernière intervention
21 mars 2020
5
D'accord désolé je ne savais pas.
Messages postés
50
Date d'inscription
mercredi 8 janvier 2020
Statut
Membre
Dernière intervention
21 mars 2020
5
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 ?
Messages postés
50
Date d'inscription
mercredi 8 janvier 2020
Statut
Membre
Dernière intervention
21 mars 2020
5
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 !
Messages postés
50
Date d'inscription
mercredi 8 janvier 2020
Statut
Membre
Dernière intervention
21 mars 2020
5
Non je dis n'importe quoi.
Enfaite je veux faire une condition qui est infini, est-ce-possible ?
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.