Validation et conversion de saisies numériques
while True:
a = input("Nombre 1 : ")
b = input("Nombre 2 : ")
if not (a.isdigit() and b.isdigit()):
print(" Veuillez saisir un nb valide svp…")
continue
a = int(a)
b = int(b)
print(f"Le resultat de {a} + {b} est {a + b}.")
break
Bonjour Yunus,
Je me dis que ça serait plus logique de vérifier si a et b sont de type int en premier (on peut espérer faire confiance à l'utilisateur), ça évitera l'emploi d'un continue et peut-être d'en passer par une évaluation qui ne sera pas nécessaire (faisons d'emblée confiance aux saisies de l'utilisateur).
Du coup je propose :
while True:
a, b = (
input("Nombre 1 : ").strip(),
input("Nombre 2 : ").strip(),
) # strip pour éliminer toute saisie d'espace
if a.isdigit() and b.isdigit():
print(f"Le résultat de {a} + {b} est {int(a) + int(b)}.")
break
print("Veuillez saisir un nombre valide, svp…")
Ou foncer dans le tas ahah :
while True:
try:
a, b = int(input("Nombre 1 : ")), int(input("Nombre 2 : "))
print(f"Le résultat de {a} + {b} est {a + b}.")
break
except ValueError:
print("Veuillez saisir un nombre valide svp…")
Après tu es en début de formation donc c'est très bien ce que tu as fait :)
Bravo !
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte