QCMUP.COM

Liste QCM Python Corrigé – Partie 9

Entraînez-vous avec des questions corrigées, progressez étape par étape, puis consolidez vos notions grâce aux définitions et explications.

30 questions Réponses expliquées Réviser → Pratiquer
Liste QCM Python Corrigé – Partie 9 – Python

Maîtriser les chaînes en Python demande d’abord de comprendre leur comportement : une chaîne est immuable, ce qui signifie qu’on ne peut pas modifier directement un caractère à une position donnée.

Chaque transformation (majuscule, remplacement, nettoyage) produit donc une nouvelle chaîne.

Cette idée explique pourquoi les méthodes comme upper(), lower(), capitalize() ou title() renvoient un résultat sans “réparer” l’original.

Elle est également utile pour éviter des erreurs de logique quand on pense avoir modifié une variable alors qu’on n’a fait qu’obtenir une copie transformée.

L’accès au texte se fait grâce à l’indexation et au slicing.

Un indice permet de récupérer un caractère précis, avec la particularité que le comptage commence à 0.

L’indexation négative, elle, simplifie l’accès aux derniers caractères.

Le slicing permet d’extraire une portion de texte : la borne de fin est exclue, et on peut définir un pas.

Un pas négatif rend possible l’inversion rapide d’une chaîne, une technique souvent demandée car elle illustre la puissance du découpage.

Les QCM insistent aussi sur les opérations de construction : la concaténation avec + colle des chaînes, tandis que * répète le texte.

Il faut faire attention au type des données : additionner des chaînes ne fait pas un calcul, cela forme un nouveau texte, d’où l’importance des conversions quand on attend un résultat numérique.

Pour analyser des données, split() découpe une chaîne en liste selon un séparateur, et join() fait l’opération inverse en recomposant un texte propre à partir d’éléments.

Enfin, plusieurs méthodes servent à valider ou nettoyer : strip() supprime les espaces inutiles, startswith() et endswith() testent des formats, count() mesure des occurrences, find() et index() localisent un motif avec des comportements différents en cas d’absence.

Les méthodes isdigit(), isnumeric() et isalpha() permettent de vérifier rapidement le contenu d’une chaîne avant une conversion ou un traitement plus strict.

L’ensemble se complète avec les séquences d’échappement comme \n et le formatage moderne via f-strings pour intégrer des variables proprement.

Maîtriser les chaînes en Python demande d’abord de comprendre leur comportement : une chaîne est immuable, ce qui signifie qu’on ne peut pas modifier directement un caractère à une position donnée.

Chaque transformation (majuscule, remplacement, nettoyage) produit donc une nouvelle chaîne.

Cette idée explique pourquoi les méthodes comme upper(), lower(), capitalize() ou title() renvoient un résultat sans “réparer” l’original.

Elle est également utile pour éviter des erreurs de logique quand on pense avoir modifié une variable alors qu’on n’a fait qu’obtenir une copie transformée.

L’accès au texte se fait grâce à l’indexation et au slicing.

Un indice permet de récupérer un caractère précis, avec la particularité que le comptage commence à 0.

L’indexation négative, elle, simplifie l’accès aux derniers caractères.

Le slicing permet d’extraire une portion de texte : la borne de fin est exclue, et on peut définir un pas.

Un pas négatif rend possible l’inversion rapide d’une chaîne, une technique souvent demandée car elle illustre la puissance du découpage.

Les QCM insistent aussi sur les opérations de construction : la concaténation avec + colle des chaînes, tandis que * répète le texte.

Il faut faire attention au type des données : additionner des chaînes ne fait pas un calcul, cela forme un nouveau texte, d’où l’importance des conversions quand on attend un résultat numérique.

Pour analyser des données, split() découpe une chaîne en liste selon un séparateur, et join() fait l’opération inverse en recomposant un texte propre à partir d’éléments.

Enfin, plusieurs méthodes servent à valider ou nettoyer : strip() supprime les espaces inutiles, startswith() et endswith() testent des formats, count() mesure des occurrences, find() et index() localisent un motif avec des comportements différents en cas d’absence.

Les méthodes isdigit(), isnumeric() et isalpha() permettent de vérifier rapidement le contenu d’une chaîne avant une conversion ou un traitement plus strict.

L’ensemble se complète avec les séquences d’échappement comme \n et le formatage moderne via f-strings pour intégrer des variables proprement.

QCM 1 Corrigé

Quelle méthode permet de mettre tous les caractères d'une chaîne en majuscules ?

A. upper()
B. uppercase()
C. capitalize()
D. to_upper()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La méthode upper() transforme chaque lettre minuscule d'une chaîne en sa version majuscule.

QCM 2 Corrigé

Quel opérateur est utilisé pour la concaténation de deux chaînes de caractères ?

A. &
B. .
C. +
D. *
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
L'opérateur '+' permet d'assembler deux chaînes de caractères bout à bout.

QCM 3 Corrigé

Comment obtenir la longueur d'une chaîne 's' ?

A. s.length()
B. len(s)
C. count(s)
D. s.size()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La fonction intégrée len() retourne le nombre total de caractères, espaces inclus.

QCM 4 Corrigé

Quelle est la sortie de 'Python'[0:2] ?

A. Py
B. Pyt
C. y
D. Pyth
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Le slicing [début:fin] extrait de l'indice 0 à l'indice 2 exclu, donc les positions 0 et 1.

QCM 5 Corrigé

Quelle méthode supprime les espaces inutiles au début et à la fin d'une chaîne ?

A. clean()
B. remove()
C. cut()
D. strip()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
strip() est indispensable pour nettoyer les entrées utilisateur des espaces superflus.

QCM 6 Corrigé

Quelle méthode permet de remplacer un mot par un autre dans une chaîne ?

A. replace()
B. switch()
C. change()
D. update()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La méthode replace('ancien', 'nouveau') crée une nouvelle chaîne avec les remplacements effectués.

QCM 7 Corrigé

Comment vérifier si une chaîne commence par un mot spécifique ?

A. is_start()
B. startswith()
C. begins()
D. first()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
startswith() renvoie True si la chaîne débute par le préfixe indiqué.

QCM 8 Corrigé

Quel est le résultat de '3' + '4' ?

A. 7
B. 12
C. '34'
D. Erreur
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Comme ce sont des chaînes (entre guillemets), l'opérateur + les concatène sans les additionner.

QCM 9 Corrigé

Quelle méthode découpe une chaîne en une liste de mots selon un séparateur ?

A. divide()
B. split()
C. slice()
D. break()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
split() sépare une chaîne (par défaut sur les espaces) pour créer une liste de sous-chaînes.

QCM 10 Corrigé

Comment insérer des variables dans une chaîne avec le formatage moderne (f-string) ?

A. f'Texte {variable}'
B. str('Texte', variable)
C. 'Texte %variable'
D. 'Texte' + {variable}
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Les f-strings (prefix f) permettent d'inclure des expressions entre accolades directement.

QCM 11 Corrigé

Quelle méthode met uniquement la première lettre d'une phrase en majuscule ?

A. first_upper()
B. lower()
C. capitalize()
D. title()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
capitalize() met le tout premier caractère en majuscule et le reste en minuscule.

QCM 12 Corrigé

Que renvoie 'image.png'.endswith('.png') ?

A. True
B. False
C. image
D. .png
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
endswith() est pratique pour vérifier l'extension d'un fichier.

QCM 13 Corrigé

Quel symbole est utilisé pour échapper un caractère spécial (ex: une apostrophe) ?

A. /
B. \
C. !
D. @
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'antislash (\) permet d'insérer des caractères spéciaux comme des guillemets dans une chaîne.

QCM 14 Corrigé

Quelle méthode transforme une liste ['a', 'b'] en une chaîne 'a-b' ?

A. merge()
B. combine()
C. join()
D. concat()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
'-'.join(['a', 'b']) utilise le tiret comme liant pour assembler les éléments.

QCM 15 Corrigé

Quelle est la sortie de 'Bonjour'[-1] ?

A. B
B. o
C. r
D. j
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
L'indice -1 permet d'accéder au dernier caractère d'une séquence.

QCM 16 Corrigé

Quelle méthode compte le nombre d'occurrences d'un caractère ?

A. sum()
B. total()
C. find()
D. count()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
count() renvoie le nombre de fois qu'une sous-chaîne apparaît sans chevauchement.

QCM 17 Corrigé

Quelle méthode vérifie si une chaîne ne contient que des chiffres ?

A. isnumber()
B. isnumeric()
C. isdigit()
D. all_digits()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
isdigit() renvoie True si tous les caractères de la chaîne sont des chiffres.

QCM 18 Corrigé

Que fait 'Hello'.lower() ?

A. Met tout en minuscules
B. Supprime les voyelles
C. Inverse la chaîne
D. Met tout en majuscules
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
lower() convertit tous les caractères alphabétiques en minuscules.

QCM 19 Corrigé

Quelle est la sortie de 'Abc' * 2 ?

A. Abc2
B. AbcAbc
C. AAb bcc
D. Erreur
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'opérateur * répète la chaîne de caractères le nombre de fois spécifié.

QCM 20 Corrigé

Comment trouver l'indice de la première occurrence d'une lettre ?

A. index()
B. search()
C. locate()
D. where()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
index() renvoie la position du premier caractère trouvé ou une erreur s'il est absent.

QCM 21 Corrigé

Quelle méthode met une majuscule au début de CHAQUE mot ?

A. capitalize()
B. upper()
C. title()
D. proper()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
title() transforme la chaîne en format titre (une majuscule par mot).

QCM 22 Corrigé

Que renvoie ' ' (un espace) dans un test booléen ?

A. False
B. None
C. True
D. 0
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
En Python, seule une chaîne vide '' est False. Une chaîne avec un espace est True.

QCM 23 Corrigé

Quelle méthode est similaire à index() mais renvoie -1 si rien n'est trouvé ?

A. find()
B. get()
C. seek()
D. look()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
find() est plus sûre qu'index() car elle ne fait pas planter le programme si le texte est absent.

QCM 24 Corrigé

Quelle est la sortie de 'Python'[:: -1] ?

A. P
B. n
C. Python
D. nohtyP
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Le slicing avec un pas de -1 est une astuce classique pour inverser une chaîne.

QCM 25 Corrigé

Quelle méthode permet de vérifier si une chaîne ne contient que des lettres ?

A. isalpha()
B. isstring()
C. ischar()
D. onlyletters()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
isalpha() renvoie True si la chaîne contient au moins un caractère et que tout est alphabétique.

QCM 26 Corrigé

Comment insérer un saut de ligne dans une chaîne ?

A. /n
B. \n
C. <br>
D. \line
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
\n est le caractère d'échappement standard pour représenter une nouvelle ligne.

QCM 27 Corrigé

Que fait la méthode zfill(5) sur la chaîne '42' ?

A. Ajoute des espaces : ' 42'
B. Ajoute des zéros : '00042'
C. Multiplie par 5 : '4242424242'
D. Tronque la chaîne
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
zfill() remplit la chaîne avec des zéros à gauche jusqu'à atteindre la longueur voulue.

QCM 28 Corrigé

Quelle méthode permet d'aligner un texte au centre d'une largeur donnée ?

A. middle()
B. center()
C. align()
D. pad()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
center(largeur) ajoute des caractères (espaces par défaut) de chaque côté du texte.

QCM 29 Corrigé

Peut-on modifier un caractère précis d'une chaîne (ex: s[0] = 'A') ?

A. Oui
B. Non, les chaînes sont immuables
C. Seulement si elle est courte
D. Seulement avec la méthode set()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
En Python, on ne peut pas modifier une chaîne existante, il faut en créer une nouvelle.

QCM 30 Corrigé

Quelle est la sortie de '1,2,3'.split(',') ?

A. ['1', '2', '3']
B. [1, 2, 3]
C. '123'
D. ('1', '2', '3')
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
split() renvoie toujours une liste de chaînes de caractères.

Mots & Définitions
Consultez les définitions des termes importants.

Une chaîne de caractères est un texte stocké en mémoire, composé de lettres, chiffres ou symboles. En Python, elle est manipulée avec le type str et sert à représenter des mots, des phrases ou des données textuelles.

Une chaîne en Python ne peut pas être modifiée caractère par caractère après sa création. Pour “changer” une chaîne, on crée en réalité une nouvelle chaîne à partir de l’ancienne.

upper() renvoie une nouvelle chaîne où toutes les lettres sont en majuscules. Elle n’altère pas la chaîne d’origine, car les chaînes sont immuables.

lower() renvoie une nouvelle chaîne en minuscules. Elle est utile pour normaliser du texte avant une comparaison ou une validation.

capitalize() met en majuscule la première lettre de la chaîne et met le reste en minuscules. Elle sert à uniformiser une phrase courte ou un titre simple.

title() met une majuscule au début de chaque mot d’une chaîne. Elle est pratique pour formater des noms ou des titres, même si elle peut nécessiter des ajustements selon les cas.

La concaténation consiste à assembler deux chaînes pour n’en former qu’une. En Python, on l’effectue souvent avec l’opérateur +, ce qui crée une nouvelle chaîne.

La répétition permet de dupliquer une chaîne plusieurs fois à la suite. Elle se fait avec l’opérateur *, et le résultat est un nouveau texte répété.

len() renvoie le nombre de caractères contenus dans une chaîne. C’est un outil essentiel pour mesurer un texte, vérifier des contraintes et sécuriser des découpages.

L’indexation permet d’accéder à un caractère précis grâce à sa position. En Python, la première position est 0, ce qui influence tous les accès.

L’indexation négative permet d’accéder aux caractères en partant de la fin. Par exemple, -1 désigne le dernier caractère de la chaîne.

Le slicing extrait une partie d’une chaîne à partir d’un intervalle. La borne de fin est exclue, ce qui rend le découpage plus cohérent pour récupérer des segments.

Le pas indique l’écart entre les caractères sélectionnés lors d’un slicing. Un pas de -1 permet notamment de parcourir une chaîne à l’envers.

Inverser une chaîne consiste à obtenir le texte dans l’ordre inverse des caractères. En Python, on le fait souvent avec un slicing utilisant un pas négatif.

strip() supprime les espaces et caractères de bord inutiles au début et à la fin d’une chaîne. Elle est très utile pour nettoyer des saisies utilisateur.

replace() renvoie une nouvelle chaîne où un motif est remplacé par un autre. Elle sert à corriger, reformater ou normaliser du texte sans modifier l’original.

startswith() vérifie si une chaîne commence par un préfixe donné. Elle renvoie un booléen et sert souvent à valider un format ou un nom de fichier.

endswith() vérifie si une chaîne se termine par un suffixe donné. Elle est couramment utilisée pour tester une extension de fichier ou un format attendu.

split() découpe une chaîne en plusieurs morceaux selon un séparateur. Elle renvoie une liste de sous-chaînes, ce qui est pratique pour analyser des données comme '1,2,3'.

join() assemble des éléments de texte en une seule chaîne, en utilisant un séparateur. Elle est idéale pour recomposer une phrase à partir d’une liste de mots.

count() renvoie le nombre d’occurrences d’un caractère ou d’un motif dans une chaîne. Elle est utile pour faire des vérifications simples ou des statistiques rapides.

index() renvoie la position de la première occurrence d’un motif dans une chaîne. Si le motif n’existe pas, elle déclenche une erreur, ce qui oblige à sécuriser le cas.

find() cherche un motif et renvoie son indice si trouvé. Si rien n’est trouvé, elle renvoie -1, ce qui permet de gérer le résultat sans déclencher d’exception.

isdigit() vérifie si une chaîne ne contient que des chiffres. Elle renvoie un booléen et sert à valider une saisie avant une conversion.

isnumeric() vérifie si la chaîne contient uniquement des caractères numériques au sens large. Elle est utile pour certains cas particuliers où le texte représente un nombre sous différentes formes.

isalpha() vérifie si une chaîne ne contient que des lettres, sans chiffres ni symboles. Elle sert notamment à valider des champs comme un prénom ou un mot-clé simple.

Une f-string est une manière moderne d’insérer des variables directement dans un texte. Elle rend le formatage plus lisible, car on écrit les expressions entre accolades dans la chaîne.

Le caractère \ sert à échapper un symbole spécial dans une chaîne, comme une apostrophe ou un guillemet. Il permet aussi d’écrire des séquences spéciales, comme un saut de ligne.

\n représente un retour à la ligne à l’intérieur d’une chaîne. Il est très utilisé pour afficher du texte sur plusieurs lignes dans la console.

zfill() complète une chaîne numérique avec des zéros à gauche jusqu’à atteindre une largeur donnée. C’est pratique pour afficher des codes, des numéros ou des valeurs alignées.

center() aligne une chaîne au centre d’une largeur définie en ajoutant des espaces de chaque côté. Elle sert à présenter du texte de manière plus esthétique dans certains affichages.

Assembler des chaînes ne réalise pas de calcul numérique : cela colle simplement le texte. Pour additionner des nombres, il faut d’abord convertir les valeurs textuelles en types numériques adaptés.

En Python, certaines valeurs sont considérées comme vraies ou fausses dans un test, même sans comparaison explicite. Une chaîne non vide est généralement évaluée comme vraie, même si elle ne contient qu’un espace.

À propos de ce QCM

Le texte est partout en programmation.

Testez vos connaissances sur les méthodes de string en Python : concaténation, mise en majuscules, découpage (slicing) et formatage.

Ce QCM interactif vous montre comment transformer et nettoyer des données textuelles facilement.

Idéal pour les débutants souhaitant automatiser le traitement de fichiers ou créer des interfaces utilisateur simples, ce test renforce votre agilité avec le langage le plus polyvalent du moment.

Conclusion

Ces QCM vous entraînent à manipuler les chaînes avec méthode et précision, en allant au-delà des simples “astuces” de syntaxe.

En comprenant l’immuabilité, l’indexation, le slicing et les principales méthodes de transformation, vous gagnez en rapidité et en fiabilité dans vos scripts.

Vous saurez nettoyer une saisie, extraire la bonne portion de texte, valider un format, et produire des messages clairs avec les f-strings.

En vous exerçant régulièrement, vous consoliderez des réflexes très utiles en examen comme en pratique, car la majorité des programmes manipulent du texte à un moment ou à un autre.