Résolue

Validation et conversion de saisies numériques

# Python
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…")

Gabriel Trouvé

Mentor

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 !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.