Aller au contenu

Déballer

Affectation multiple

On peut affecter plusieurs variables en une seule fois avec un tuple:

>>> a, b, c, d = (42, 666, 1789, 1968)
>>> a
42
>>> b
666
>>> c
1789
>>> d
1968

On aurait pu écrire de façon équivalente:

>>> (a, b, c, d) = (42, 666, 1789, 1968)

ou encore:

>>> a, b, c, d = 42, 666, 1789, 1968

Avec une fonction

Une fonction peut ainsi renvoyer "plusieurs valeurs".

Exemple

On définit la fonction:

def divisionEuclidienne(a, b):
    return a//b, a%b

Une utilisation:

>>> a, b = 10, 3
>>> quotient, reste = divisionEuclidienne(a, b)
>>> quotient
3
>>> reste 
1

La fonction ne renvoie en fait pas plusieurs valeurs. Elle renvoie un tuple, ici le tuple (a//b, a%b). Python permet de ne pas écrire explicitement les parenthèses dans ce contexte.

Exercice

On représente un point du plan par le couple de ses coordonnées dans un repère orthonormé.

  • Écrire une fonction prenant en paramètres deux points (c'est à dire deux couples de coordonnées) et renvoyant en sortie le point milieu (le couple des coordonnées du milieu).
  • Écrire une fonction prenant en paramètres deux points (c'est à dire deux couples de coordonnées) et renvoyant en sortie la distance entre ces deux points.

Rappel

  • L'abscisse du milieu de [AB] est la moyenne des abscisses de A et B. Analogue pour l'ordonnée.
  • La formule de la distance n'est qu'une application du théorème de Pythagore: AB = \sqrt{(x_B-x_A)^2+(y_B-y_A)^2}.
Milieu

fichier ipynb (et version html).

Distance

fichier ipynb (et version html).