Chapitre 2: les Tuples⚓︎
1.Définition des tuples⚓︎
Les tuples (appelés p-uplets dans le programme officiel de NSI) sont une collection d'objets ordonnée mais NON MODIFIABLE.
Pour rappel :
- chaine de caractères : ordonnée et non modifiable
- liste : ordonnée et modifiable
- tuple : ordonnée et non modifiable
Quel peut être l'intérêt d'un tuple par rapport à une liste ?
- Justement son caractère protégé : jamais une portion de code ne pourra venir modifier les informations contenues dans le tuple.
- L'utilisation des tuples est économe en ressources-système par rapport à une liste (en particulier, parce que sa taille est fixe).
>>> monPremierTuple = (3, 5, 6)
Un tuple se différencie d'une liste par l'utilisation des parenthèses au lieu des crochets.
>>> type(monPremierTuple)
tuple
À noter qu'un tuple peut être déclaré sans parenthèses. C'est toutefois à éviter.
>>> taille = 600, 800
>>> type(taille)
tuple
2. Accès aux éléments d'un tuple⚓︎
Comme pour une liste ou une chaîne de caractère, l'accès se fait par un indice entre crochets.
>>> a = (12, 25, 6)
>>> a[0]
12
3. Tentative de modification d'un tuple⚓︎
>>> a[0] = 4
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-7-5fe525706b2b> in <module>()
----> 1 a[0] = 4
TypeError: 'tuple' object does not support item assignment
4. Parcours d'un tuple⚓︎
On retrouve bien évidemment les deux méthodes utilisables pour les listes :
4.1 Parcours par indice⚓︎
>>> for k in range(len(a)):
print(a[k])
12
25
6
4.1 Parcours par élément⚓︎
>>> for k in a :
print(k)
12
25
6
5. Parcours d'une liste de tuples⚓︎
Il existe deux manières de parcourir une liste de tuples.
5.1 Par tuple⚓︎
Exemple :
for c in [(-1, 0), (1, 0), (0, -1), (0, 1)]:
print("Point de coordonnées", c)
Point de coordonnées (-1, 0)
Point de coordonnées (1, 0)
Point de coordonnées (0, -1)
Point de coordonnées (0, 1)
5.2 Par contenu⚓︎
Exemple :
for x, y in [(-1, 0), (1, 0), (0, -1), (0, 1)]:
print("Point d'abscice", x, "et d'ordonnée", y)
Point d'abscice -1 et d'ordonnée 0
Point d'abscice 1 et d'ordonnée 0
Point d'abscice 0 et d'ordonnée -1
Point d'abscice 0 et d'ordonnée 1
6. Construction d'une fonction renvoyant un tuple⚓︎
🐍 Script Python | |
---|---|
1 2 3 4 5 |
|
>>> division(49,12)
(4,1)
Exercice 1
On considère deux points A et B d'un repère quelconque. Leurs coordonnées sont des tuples à deux éléments. Écrire une fonction qui prend en argument les coordonnées de deux points et qui renvoie le milieu de ces deux points.
La fonction doit fonctionner de cette manière :
>>> C = (45, 12)
>>> D = (49, 32)
>>> milieu(C,D)
(47, 22)
def milieu(point1, point2):
"""
En entrée: attends les coordonnées de deux points (sous forme de tuples).
En sortie: renvoie (sous forme de tuple) les coordonnées du point millieu de deux points.
"""
# votre code