Bonjour
1) Première simplification de votre code, juste pour y voir un peu plus clair.
1 2 3 4 5 6 7
| voeux = input("\n\nVoulez-vous rejouer ? oui ou non\n") # Demander si les joueurs veut rejouer
while voeux != "oui" or voeux != "non": # faire tant que la reponse n'est pas oui ou non
print("Erreur, mauvaise entrée \n\n") # Dire que l réponse n'est pas bonne
voeux = input("Voulez-vous rejouer ? oui ou non\n") # redemander si le joueur veut rejouer
print(voeux) |
2) Ensuite pour résoudre le problème, vous avez bien identifier que vous ne sortez jamais de la boucle while une fois entré dedans. Pourquoi ? Parce que la condition que vous donnez est toujours vraie !
Cas 1 : voeux vaut 'toto', voeux != "oui" est vrai, et voeux != "non" est vrai. On a donc, Vrai ou Vrai --> Vrai
Cas 2 : voeux vaut 'oui' , voeux != "oui" est faux, et voeux != "non" est vrai. On a donc, Faux ou Vrai --> Vrai
Cas 3 : voeux vaut 'non', voeux != "oui" est vrai, et voeux != "non" est faux. On a donc, Vrai ou Faux --> Vrai
Dans tous les cas votre condition est toujours vraie donc fatalement, vous ne sortez jamais du while ...
Mais quid de la condition
not voeux=="non" and not voeux=="oui"
que vous avez également écrite dans le if au départ, et quid j'ai simplifié car elle est censé être la même que celle du while bien qu'elle n'ait pas la même forme ?
Partager