C11.1 : Les tuples

Présentation

Propriétés des tuples

Les tuples (on dit aussi n-uplet) s'écrivent de la façon suivante :

t = (-5, "a", 3.5)

Les tuples sont des structures de données linéaires.

Les tuples sont des structures de données ordonnées :

Les tuples sont des structures de données non mutables : il n'est pas possible de modifier les valeurs d'un tuple.

Pour compléter

Prendre connaissance de Mémo : Les tuples.

Applications, pour comprendre

Application II_app1 : Création d'un tuple

Créer un tuples contenant les mots de la phrase suivante : "Le bonheur est parfois caché dans l'inconnu."

Application II_app2 : Structure de données ordonnées

On considère le tuple t définit par l'instruction suivante :

t = (-5, "a", 3.5)

1) Écrire l'instruction qui permet de récupérer la valeur -5. De même pour "a".

2) Écrire le code d'une fonction qui prend un tuple en paramètre et affiche successivement, ligne par ligne, les valeurs du tuple.

Application II_app3 : Structure de données non mutable

Tester le code suivant :

t = (1, 2, 3, 4)
t[0] = 10

Expliquer pourquoi il produit une erreur.

Application II_app4 : Affectation parallèle

En une seule ligne de code, créer les variables a et b contenant respectivement les valeurs 8 et 12.

Application II_app5 : Analyse d'un code

On s'intéresse à la fonction ci-dessous

def fct(nb : int) -> tuple:
    return nb // 2, nb * 2

1) Expliquer ce que fait cette fonction. Lui donner un nom approprié.

2) Écrire quelques lignes de code qui utilisent cette fonction.

Application II_app6 : Fonction qui renvoie plusieurs valeurs

On rappelle que la distance entre deux points A et B de coordonnées respectives \((x_A, y_A)\) et \((x_B, y_B)\) est donnée par la formule : \(\sqrt{(x_A-x_B)^2+(y_A-y_B)^2}\)

Écrire le code de la fonction dont la docstring est donnée ci-dessous.

def distance(coord1, coord2):
    '''
    Renvoie la distance entre les deux points dont on connait les coordonnées.

    :paramètre coord1: (tuple) coordonnées d'un point
    :paramètre coord2: (tuple) coordonnées d'un point
    :return: (float) distance entre les deux points

    Exemple
    >>> distance((0, 4), (3, 0))
    5.0
    '''

Exercices, pour approfondir

Application III_app1 : Min et max des valeurs d'un tuple

Écrire une fonction min_max(notes : tuple)->tuple qui prend en paramètre un tuple de notes et renvoie un tuple de 2 éléments constitué de la note la plus basse et de la note la plus élevée.

Exemple :

>>> notes = (20, 15, 10, 16, 9)
>>> min_max(notes)
(9, 20)

Application III_app2 : Mélange des valeurs d'une liste d'entiers

Remarques :

Description de l'algorithme :

On considère une liste de n entiers.

Algorithme :

Travail à faire :

Écrire une fonction (avec docstring) qui prend une liste d'entiers en paramètre et mélange les éléments de cette liste. Remarque : cette fonction ne renvoie rien, par contre, elle modifie la liste passée en paramètre.