QCM : Séquences en Python (11 questions)

Questions et réponses du QCM

1. Quelle description correspond à une liste Python ?

Une séquence immuable pouvant contenir des types différents
Une collection modifiable dont les éléments ne sont pas indexables
Une séquence modifiable limitée à des éléments de même type
Une séquence modifiable pouvant contenir des types différents

Une séquence modifiable pouvant contenir des types différents

Explication

Une liste est une séquence modifiable et ses éléments peuvent être de types différents. L’immuabilité, l’homogénéité obligatoire et l’absence d’indexation ne caractérisent pas les listes.

2. Un objet conserve ses éléments dans leur ordre de création, permet de récupérer un élément par son indice et peut être parcouru avec une boucle. Ces observations établissent qu’il est :

Indexable, modifiable et itérable
Ordonné, modifiable et triable
Ordonné, indexable et itérable
Ordonné, triable et de type homogène

Ordonné, indexable et itérable

Explication

L’ordre de création indique que l’objet est ordonné, l’accès par indice qu’il est indexable, et le parcours par boucle qu’il est itérable. La modification, le tri et l’homogénéité ne sont pas établis par ces observations.

3. Une liste vaut `["rouge", 12, True]`. Quelle instruction remplace son élément d’indice 1 par `"bleu"` ?

liste[2] = "bleu"
liste[1] = "bleu"
liste[1]
liste[0] = "bleu"

liste[1] = "bleu"

Explication

Une affectation à `liste[indice]` remplace l’élément situé à cet indice : ici, `liste[1] = "bleu"`. L’indice 0 désigne le premier élément, l’indice 2 le troisième, et `liste[1]` seule ne modifie rien.

4. Quelles propriétés caractérisent une séquence Python ?

Être ordonnée, modifiable et itérable
Être ordonnée, indexable et itérable
Être indexable, modifiable et homogène
Être ordonnée, indexable et homogène

Être ordonnée, indexable et itérable

Explication

Une séquence Python est définie par son ordre, la possibilité d’accéder à ses éléments par indice et la possibilité de la parcourir. La modifiabilité et l’homogénéité ne font pas partie de ces trois critères.

5. Que désigne l’affectation `copie = fable` lorsque `fable` est une liste ?

Une variable qui conserve uniquement le nombre d’éléments de `fable`
Deux noms qui désignent la même liste, sans créer de copie indépendante
Deux listes distinctes dont les éléments sont copiés automatiquement
Une liste nouvelle qui contient les éléments de `fable` en ordre inverse

Deux noms qui désignent la même liste, sans créer de copie indépendante

Explication

Cette affectation lie les deux noms au même objet liste, de sorte qu’une modification via l’un est visible via l’autre. À la différence de `copy()`, elle ne crée pas une liste indépendante.

6. Que renvoie `find("chat")` lorsqu’une chaîne ne contient pas la sous-chaîne « chat » ?

L’indice 0, qui indique le début de la chaîne
Une erreur indiquant que la sous-chaîne est absente
L’indice -1, qui signale l’absence de la sous-chaîne
Le nombre de caractères de la chaîne

L’indice -1, qui signale l’absence de la sous-chaîne

Explication

La méthode `find()` renvoie la position de la sous-chaîne lorsqu’elle est présente et -1 lorsqu’elle est absente. Contrairement à `find()`, la méthode `index()` déclenche une erreur si la sous-chaîne recherchée n’existe pas.

7. Quel est le rôle de la méthode `format()` dans une chaîne patron ?

Convertir les caractères de la chaîne en majuscules.
Insérer des valeurs aux emplacements indiqués par des accolades.
Découper la chaîne en sous-chaînes selon un séparateur.
Remplacer toutes les occurrences d’un caractère par un autre.

Insérer des valeurs aux emplacements indiqués par des accolades.

Explication

La méthode `format()` insère les valeurs fournies aux emplacements marqués par des accolades dans la chaîne patron. La méthode `replace()` remplace des occurrences, mais ne remplit pas ces emplacements.

8. Dans le champ `{v:5.2f}` de `str.format`, quelle fonction remplit le spécificateur `.2f` ?

Afficher un nombre flottant avec deux chiffres après la virgule
Afficher un nombre flottant avec cinq chiffres après la virgule
Afficher un nombre flottant sur deux caractères au total
Afficher un nombre entier avec deux chiffres après la virgule

Afficher un nombre flottant avec deux chiffres après la virgule

Explication

Le spécificateur `.2f` demande un affichage en virgule flottante avec deux chiffres après la virgule, tandis que le `5` indique la largeur du champ. La largeur de deux caractères au total correspondrait à une interprétation erronée du nombre placé après le point.

9. Quelle différence fondamentale distingue un tuple d’une liste en Python ?

Un tuple est immuable, tandis qu’une liste peut être modifiée.
Un tuple accepte des types variés, tandis qu’une liste contient un seul type.
Un tuple est ordonné, tandis qu’une liste ne conserve pas l’ordre des éléments.
Un tuple se parcourt par indice, tandis qu’une liste se parcourt par clé.

Un tuple est immuable, tandis qu’une liste peut être modifiée.

Explication

Le tuple ressemble à une liste, mais ses éléments ne peuvent pas être modifiés après sa création, contrairement à ceux d’une liste. La possibilité de contenir des types variés n’est pas une différence : les deux structures peuvent réunir des éléments de types différents.

10. Quel effet produit une tentative d’affectation à un élément d’un tuple, par exemple `t[0] = 5` ?

Elle ajoute la nouvelle valeur à la fin du tuple.
Elle convertit le tuple en liste avant de remplacer l’élément.
Elle provoque une erreur, car les tuples ne peuvent pas être modifiés.
Elle remplace l’élément et crée automatiquement un nouveau tuple.

Elle provoque une erreur, car les tuples ne peuvent pas être modifiés.

Explication

Un tuple est immuable, donc l’affectation à l’un de ses éléments est interdite et déclenche une erreur. La conversion automatique en liste serait une propriété différente, qui n’a pas lieu lors de cette affectation.

11. Une liste `mots` contient plusieurs éléments ; comment insérer `"miel"` entre ses éléments d’indices 1 et 2 sans en remplacer aucun ?

Écrire `mots[2:2] = "miel"` pour affecter directement une chaîne à la tranche vide.
Écrire `mots[1:2] = ["miel"]` pour affecter une liste à une tranche d’un élément.
Écrire `mots[2:2] = ["miel"]` pour affecter une liste à une tranche vide.
Écrire `mots[2] = ["miel"]` pour remplacer l’élément d’indice 2 par une liste.

Écrire `mots[2:2] = ["miel"]` pour affecter une liste à une tranche vide.

Explication

Une tranche vide, par exemple `mots[2:2]`, permet d’insérer les éléments de l’itérable fourni sans remplacer ceux qui existent déjà. La tranche `mots[1:2]` n’est pas vide et remplace donc l’élément qu’elle couvre.

Révisez avec les flashcards

Mémorisez les réponses avec 10 flashcards sur Séquences en Python.

Qu’est-ce qu’une séquence Python ?

Un objet ordonné, indexable et itérable.

Qu’est-ce qu’une liste en Python ?

Une séquence modifiable dont les éléments peuvent être de types différents.

Comment l’ordre des éléments d’une séquence Python est-il déterminé ?

Il correspond à leur ordre de création.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Séquences en Python.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM