Contenu principal
Chapitre 3 · Les alternatives › Leçon 4 sur 7

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. 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. 2

    Défini une fonction inverse qui prend un nombre en argument et renvoie l'inverse de ce nombre. Il n'y a pas de condition if pour le moment.

    Solution

    La fonction inverse dépend d'un argument x et renvoie 1 / x

    def inverse(x):
      return 1 / x
  3. 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 x est nul on utilise la comparaison x == 0 et dans ce cas on renvoie 'impossible'. Le bloc else reprend le code précédent sans changement :

    def inverse(x):
      if x == 0:
        return 'impossible'
      else:
        return 1 / x
  4. 4

    Fais quelques calculs dans la console avec ta fonction inverse comme inverse(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

Chargement...

Collecte des fichiers...

>>>