Restreindre le domaine
En mathématiques on ne peut pas diviser par zéro ou prendre la racine carrée d'un nombre négatif. Ces fonctions ne sont pas définies partout : leur domaine de définition est restreint.
Tu vas créer une fonction inverse qui prévient en cas d'opération impossible et ne
génère pas d'erreur.
- 1
Quelle erreur est générée lorsqu'on divise par zéro en Python ? Fais le test dans la console.
Solution
>>> 1 / 0 ZeroDivisionError: division by zero - 2
Défini une fonction
inversequi prend un nombre en argument et renvoie l'inverse de ce nombre. Il n'y a pas de conditionifpour le moment.Solution
La fonction
inversedépend d'un argumentxet renvoie1 / xdef inverse(x): return 1 / x - 3
Si tu fais
inverse(0)dans la console, cela génère une erreur.Utilise une instruction conditionnelle dans la fonction
inverse: si l'argument est nul, renvoie la chaîne de caractères"impossible", sinon renvoie l'inverse du nombre.Solution
Il faut utiliser une instruction conditionnelle. Pour vérifier si
xest nul on utilise la comparaisonx == 0et dans ce cas on renvoie'impossible'. Le blocelsereprend le code précédent sans changement :def inverse(x): if x == 0: return 'impossible' else: return 1 / x - 4
Fais quelques calculs dans la console avec ta fonction
inversecommeinverse(2)pour vérifier qu'elle fonctionne bien.Finalement assure toi qu'il n'y a pas d'erreur lorsque tu fais
inverse(0)dans la console.Solution
>>> inverse(2) 0.5 >>> inverse(0) impossible