Bonjour j'ai eu une solution alternative
numb_1 = input ("veuiller entrer votre premier nombre : ")
numb_2 = input ("veuiller entrer votre second nombre : ")
i = 0
while numb_1.isdigit() == True and numb_2.isdigit() == True:
print(f"le resultat de l'addition de {numb_1} avec {numb_2} est egal a {int(numb_1) + int(numb_2)}")
break
else:
print("veuiller entrer des nombres valides")
ah oui desole voici
numb_1 = input ("veuiller entrer votre premier nombre : ")
numb_2 = input ("veuiller entrer votre second nombre : ")
i = 0
while numb_1.isdigit() == True and numb_2.isdigit() == True:
print(f"le resultat de l'addition de {numb_1} avec {numb_2} est egal a {int(numb_1) + int(numb_2)}")
break
else:
print("veuiller entrer des nombres valides")
Pas de soucis !
Ta solution fonctionne mais il y a des choses qu'on peut améliorer :)
-
Tu as déclaré une variable
i = 0qui n'est utilisée nulle part donc tu peux l'enlever. -
Ton
whileetelsevont sûrement te poser des problèmes. Ton code vérifie une seule fois si les entrées sont des chiffres, donc si l'utilisateur se trompe, ton message d'erreur ne sera pas affiché.
Également, après l'affichage du résultat, ton programme s'arrête à cause du break.
Voici comment tu pourrais améliorer ton code en utilisant ta boucle while avec une condition toujours vraie (True) que tu casses (break) une fois que l'utilisateur a rentré les bonnes informations :
while True:
numb_1 = input("Veuillez entrer votre premier nombre : ")
numb_2 = input("Veuillez entrer votre second nombre : ")
if numb_1.isdigit() and numb_2.isdigit():
print(f"Le resultat de l'addition de {numb_1} avec {numb_2} est égal à {int(numb_1) + int(numb_2)}")
break
else:
print("Veuillez entrer des nombres valides !")
Dans cette version, le programme boucle jusqu'à ce que l'utilisateur entre deux nombres valides.
Une fois qu'il les a, il additionne, affiche le résultat puis s'arrête. Si les entrées ne sont pas valides, il demande de nouveau.
Dernier point : on fait très rarement des vérifications d'égalité avec True.
Comme tu l'as vu dans mon code, tu peux faire la vérification tout simplement ainsi :
if numb_1.isdigit() and numb_2.isdigit():
Parce que si on "traduit" les isdigit, ta condition devient (dans le cas de 2 inputs envoyés par l'utilisateur qui seraient des nombres entiers positifs) :
if True and True:
Et True + True = True, donc on rentre dans la condition. (Et dans le cas où l'un des deux ou les deux isdigit renvoient False, False and False ou False and True retourne False).
Très bonne continuation à toi !
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte