Exercice raise ValueError (fonction)
Et rebonjour,
Je suis à l'exercice :
"Dans cet exercice, vous devez créer une fonction add qui va permettre d’additionner 2 nombres et de retourner le résultat de cette addition.
Petite contrainte supplémentaire : votre fonction ne doit accepter que des nombres.
Dans le cas où un objet d’un autre type est envoyé, la fonction devra lever une erreur de type ValueError."
Si je fais de cette manière : la fonction lève bien l'erreur mais je ne valide pas la consigne "La fonction add retourne le résultat de l’addition des 2 valeurs passées en argument"
J'ai essayé de mettre mon return a + b au début mais cette fois-ci je ne lève plus l'erreur...
je n'aime pas regarder la solution je préfère réfléchir quitte à avoir de l'aide.
Merci d'avance :)
def add(a, b):
if a is not int:
raise ValueError
elif b is not int:
raise ValueError
return a + b
Alors je vais être chiant.
Mais c'est pour être précis et bien comprendre.
Les 2 fonctionnent dans la correction.
On peut faire ?
def add(a, b):
if not isinstance(a, (float, int)) or not isinstance(b, (float, int)):
raise ValueError("a et b doivent être des nombres (entiers ou décimaux).")
return a + b
Ici on termine la ligne avec le if avec 3 virgules pour fermer. Je trouve ça bizarre.
def add(a, b):
if not isinstance(a, (float, int) or not isinstance(b, (float, int))):
raise ValueError("a et b doivent être des nombres (entiers ou décimaux).")
return a + b
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte