Ma première fonction
Bonjour,
Je ne suis pas encore arrivé aux fonctions au niveau de ma formation mais je voulais tester une fonction.
Quand j'exécute ma fonction, le if print ("nombre svp !) ne s'affiche pas lorsque je rentre au chose que des nombres dans mes input.
Vous savez pourquoi ?
Merci d'avance ! :)
def addition():
a = b = ""
while not (a.isdigit() and b.isdigit()):
a = input("Veuillez entrer un premier nombre : ")
b = input("Veuillez entrer un deuxième nombre :")
if not (a.isdigit() and b.isdigit()):
print("NOMBRE S.V.P !")
print(f"L'addition de {a} et {b} est égal à {int(a) + int(b)}")
tu n'as pas de "paramètres" / "arguments" dans ta fonction, il faudrait mettre a et b, ensuite il faut que tu réindentes ton if et le print d'après au niveau du a =.... et b=... pour qu'il soit dans la boucle while, la il est en dehors de la boucle, enfin tu as deux fois la même conditions, supprime la première et utilise continue / break
Hello Gabriel,
tu n'as pas besoin de paramètres dans ta fonction puisque tu as un "input" qui va te faire interagir avec le terminal. En gros dans ton code tu ne vas jamais tomber dans ta condition "if" car ta condition sur while arrive en premier. Donc soit il boucle indéfiniment dans le while tant que tu ne rentres pas de digit ou alors si tu rentres des digits, ta condition de "while" s'arrête et tu ne passes pas dans le "if" . Si tu veux signaler à ton utilisateur qu'il faut un nombre, mets ton message directement dans ta condition while comme ceci:
def addition():
a = b = ""
while not (a.isdigit() and b.isdigit()):
print("NOMBRE S.V.P !")
a = input("Veuillez entrer un premier nombre : ")
b = input("Veuillez entrer un deuxième nombre :")
print(f"L'addition de {a} et {b} est égal à {int(a) + int(b)}")
addition()
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte