Problème boucle while

Résolu
nico77fire Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
jee pee Messages postés 41520 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, voici mon code :

triche=input("\nRentrez 0 si l'ordinateur a manqué son tir, 1 si l'ordinateur a touché un bateau et 2 s'il a coulé un bateau :")
triche=int(triche)
while triche != 0 or triche != 1 or triche != 2:
print("\nVous n'avez pas choisi une valeur valide")
triche=input("\nRentrez 0 si l'ordinateur a manqué son tir, 1 si l'ordinateur a touché un bateau et 2 s'il a coulé un bateau :")

Mon problème est que même quand je met 0,1 ou 2 comme valeur dans mon input pour triche la boucle while s'executera quand même or ma variable triche prend bien la valeur de l'input car j'ai testé de mettre un print(triche) et ca affichait bien la bonne valeur.
Merci d'avance

Configuration: Windows / Firefox 88.0

1 réponse

jee pee Messages postés 41520 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Bonjour,

Voilà 3 façons de faire :

triche=input("\nRentrez 0 si l'ordinateur a manqué son tir, 1 si l'ordinateur a touché un bateau et 2 s'il a coulé un bateau :")
triche=int(triche)
while triche != 0 and triche != 1 and triche != 2:
# while triche not in (0,1,2):
# while not (triche == 0 or triche == 1 or triche == 2):
     print("\nVous n'avez pas choisi une valeur valide")
     triche=input("\nRentrez 0 si l'ordinateur a manqué son tir, 1 si l'ordinateur a touché un bateau et 2 s'il a coulé un bateau :")
     triche=int(triche)


PS : Pour la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte. Celle qui a cet aspect
<> ▼
permet d'appliquer au code, suivant une liste de valeurs, le format correspondant à sa nature.
Un petit tuto là : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0