Python au lycée (4) : Les fonctions Exercices

Python : Distance entre deux points du plan

Durée estimée
10 minutes
Difficulté
Votre progression

Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.

Créer un compte

Objectifs travaillés

Le plan est muni d'un repère orthonormé. Pour deux points $ A(x_A\,;\,y_A) $ et $ B(x_B\,;\,y_B) $, la distance $ AB $ est donnée par la formule :

$ AB = \sqrt{(x_B - x_A)^2 + (y_B - y_A)^2} $
  1. Calculer « à la main » la distance $ AB $ avec $ A(1\,;\,2) $ et $ B(4\,;\,6) $.
  2. Écrire une fonction Python distance(xA, yA, xB, yB) qui renvoie la distance entre les points $ A(x_A\,;\,y_A) $ et $ B(x_B\,;\,y_B) $.
  3. Utiliser la fonction pour vérifier le résultat de la question 1.
  4. Calculer la distance $ CD $ avec $ C(-2\,;\,3) $ et $ D(5\,;\,-1) $. On donnera une valeur arrondie à $ 0{,}01 $ près.

Corrigé

  1. On applique la formule avec $ A(1\,;\,2) $ et $ B(4\,;\,6) $ :
    $ AB = \sqrt{(4-1)^2 + (6-2)^2} = \sqrt{3^2 + 4^2} = \sqrt{9 + 16} = \sqrt{25} = \mathbf{5} $.
  2. On importe la fonction sqrt (racine carrée) du module math :

    from math import sqrt
    
    def distance(xA, yA, xB, yB):
        return sqrt((xB - xA)**2 + (yB - yA)**2)
  3. Test :

    >>> distance(1, 2, 4, 6)
    5.0

    On retrouve bien $ AB = 5 $.

  4. On applique la fonction aux points $ C(-2\,;\,3) $ et $ D(5\,;\,-1) $ :
    $ CD = \sqrt{(5 - (-2))^2 + (-1 - 3)^2} = \sqrt{7^2 + (-4)^2} = \sqrt{49 + 16} = \sqrt{65} $.
    Avec Python :

    >>> distance(-2, 3, 5, -1)
    8.06225774829855

    On obtient donc $ CD \approx \mathbf{8{,}06} $.