QCMUP.COM

Liste QCM Python Corrigé – Partie 4

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 4 – Python

Les boucles font partie des bases incontournables en Python, car elles permettent d’automatiser des tâches répétitives et de traiter des données de manière structurée.

Dès qu’un programme doit parcourir une liste d’éléments, analyser un texte caractère par caractère, ou répéter une action jusqu’à ce qu’une condition soit remplie, la maîtrise du for et du while devient essentielle.

Comprendre ces mécanismes aide à écrire un code plus clair, plus court et surtout plus fiable.

Dans ce contenu, vous allez consolider des notions clés comme l’itération, la gestion des conditions, l’usage de range() pour contrôler un nombre de répétitions, et les bonnes pratiques qui évitent les erreurs classiques (par exemple les boucles qui ne s’arrêtent jamais).

L’objectif est de vous donner des réflexes de programmation solides, utiles en cours, en examen et dans des scripts réels.

Les boucles font partie des bases incontournables en Python, car elles permettent d’automatiser des tâches répétitives et de traiter des données de manière structurée.

Dès qu’un programme doit parcourir une liste d’éléments, analyser un texte caractère par caractère, ou répéter une action jusqu’à ce qu’une condition soit remplie, la maîtrise du for et du while devient essentielle.

Comprendre ces mécanismes aide à écrire un code plus clair, plus court et surtout plus fiable.

Dans ce contenu, vous allez consolider des notions clés comme l’itération, la gestion des conditions, l’usage de range() pour contrôler un nombre de répétitions, et les bonnes pratiques qui évitent les erreurs classiques (par exemple les boucles qui ne s’arrêtent jamais).

L’objectif est de vous donner des réflexes de programmation solides, utiles en cours, en examen et dans des scripts réels.

QCM 1 Corrigé

Quel mot-clé est utilisé pour parcourir les éléments d'une séquence (comme une liste) ?

A. while
B. for
C. loop
D. foreach
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La boucle 'for' en Python est conçue pour itérer sur les éléments de n'importe quel objet itérable.

QCM 2 Corrigé

Quelle fonction génère une suite de nombres souvent utilisée dans une boucle for ?

A. list()
B. sequence()
C. range()
D. numbers()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La fonction range() génère une séquence arithmétique d'entiers, idéale pour contrôler le nombre d'itérations.

QCM 3 Corrigé

Quelle est la condition d'arrêt d'une boucle 'while' ?

A. Tant que la condition testée est fausse
B. Une fois que la liste est terminée
C. Après 10 itérations par défaut
D. Dès que la condition testée devient fausse
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Une boucle 'while' s'exécute tant que sa condition est évaluée à True et s'arrête dès qu'elle passe à False.

QCM 4 Corrigé

Que se passe-t-il si la condition d'une boucle 'while' est toujours vraie ?

A. Le programme s'arrête immédiatement
B. On obtient une boucle infinie
C. Python ignore la boucle
D. Le système d'exploitation redémarre
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Sans modification de la variable de contrôle, le programme répète le bloc sans fin, consommant des ressources.

QCM 5 Corrigé

Quel mot-clé permet de passer immédiatement à l'itération suivante sans finir le bloc actuel ?

A. continue
B. skip
C. break
D. next
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
L'instruction 'continue' interrompt l'étape en cours et relance directement le test de la boucle.

QCM 6 Corrigé

Quel est le résultat de range(5) ?

A. 1, 2, 3, 4, 5
B. 0, 1, 2, 3, 4, 5
C. 0, 1, 2, 3, 4
D. 5, 4, 3, 2, 1
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
range(n) génère n nombres en commençant par 0, la borne supérieure étant exclue.

QCM 7 Corrigé

Quel mot-clé permet d'interrompre prématurément et définitivement une boucle ?

A. stop
B. end
C. exit
D. break
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
L'instruction 'break' sort immédiatement de la boucle, peu importe l'état de la condition.

QCM 8 Corrigé

Combien de fois le code sera-t-il exécuté avec : for i in range(1, 4): ?

A. 4 fois
B. 3 fois
C. 2 fois
D. 1 fois
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Les valeurs prises seront 1, 2 et 3. Le nombre final (4) n'est jamais inclus.

QCM 9 Corrigé

Quelle est la syntaxe correcte pour une boucle for ?

A. for i in range(10):
B. for (i=0; i<10; i++):
C. for i to 10:
D. for i in 10
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Python utilise 'in' pour lier une variable à un itérable, suivi des deux-points obligatoires.

QCM 10 Corrigé

Dans une boucle 'while', où doit-on généralement modifier la variable de contrôle ?

A. Au-dessus du 'while'
B. À l'intérieur du bloc indenté de la boucle
C. Sur la même ligne que 'while'
D. Après le mot-clé 'else'
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'incrémentation ou la mise à jour doit se faire dans le bloc pour influencer la condition au prochain tour.

QCM 11 Corrigé

Que produit range(0, 10, 2) ?

A. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
B. 0, 2, 4, 6, 8, 10
C. 0, 2, 4, 6, 8
D. 2, 4, 6, 8
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le troisième paramètre de range() est le 'pas' (step). Ici, on compte de 2 en 2 sans atteindre 10.

QCM 12 Corrigé

Peut-on utiliser une boucle for sur une chaîne de caractères ?

A. Non, c'est réservé aux nombres
B. Oui, pour parcourir chaque caractère
C. Seulement si la chaîne contient des chiffres
D. Seulement avec la fonction len()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Une chaîne est une séquence de caractères ; le 'for' itère sur chaque lettre une par une.

QCM 13 Corrigé

Lequel de ces codes permet de répéter 5 fois 'Bonjour' ?

A. while i < 5: print('Bonjour')
B. for 5 in print('Bonjour'):
C. for i in range(5): print('Bonjour')
D. repeat(5): print('Bonjour')
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
C'est la structure la plus simple et correcte pour une répétition fixe.

QCM 14 Corrigé

Que se passe-t-il si la condition initiale du 'while' est fausse dès le début ?

A. Le code à l'intérieur n'est jamais exécuté
B. Le code est exécuté une seule fois
C. Python affiche une erreur
D. La boucle devient infinie
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Contrairement au 'do-while' d'autres langages, le 'while' Python teste la condition avant la première itération.

QCM 15 Corrigé

Quelle est l'utilité principale d'une boucle imbriquée (une boucle dans une autre) ?

A. Accélérer l'exécution du script
B. Traiter des structures de données complexes comme des tableaux 2D
C. Économiser de l'espace mémoire
D. Remplacer l'instruction if
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Les boucles imbriquées sont idéales pour parcourir des grilles, des matrices ou des listes de listes.

QCM 16 Corrigé

Quel est l'effet de : for x in [1, 2, 3]: print(x * 2) ?

A. Affiche 1, 2, 3
B. Affiche 2, 4, 6
C. Affiche 11, 22, 33
D. Génère une erreur de syntaxe
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La boucle multiplie chaque élément de la liste par 2 avant de l'afficher.

QCM 17 Corrigé

Quelle clause optionnelle peut être utilisée après une boucle for ou while en Python ?

A. finally
B. then
C. else
D. catch
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le bloc 'else' après une boucle s'exécute si la boucle s'est terminée normalement (sans 'break').

QCM 18 Corrigé

Comment parcourir une liste à l'envers avec range() ?

A. range(10, 0, -1)
B. range(0, 10, -1)
C. range(10, 0)
D. reverse_range(10)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Pour décompter, il faut une valeur de début supérieure à la fin et un pas négatif.

QCM 19 Corrigé

Dans 'for fruit in fruits:', que représente 'fruit' ?

A. Le nom obligatoire de la variable
B. Une variable qui prend la valeur de l'élément actuel
C. Le nombre total d'éléments
D. Une fonction interne
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
C'est une variable temporaire choisie par le programmeur pour manipuler l'élément de l'itération en cours.

QCM 20 Corrigé

Lequel de ces opérateurs est souvent utilisé pour mettre à jour un compteur dans un while ?

A. ==
B. is
C. in
D. +=
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
L'opérateur i += 1 est un raccourci pour i = i + 1, essentiel pour éviter les boucles infinies.

QCM 21 Corrigé

Quel est l'équivalent de range(5) ?

A. range(0, 5, 1)
B. range(1, 5, 1)
C. range(5, 0, 1)
D. range(0, 5, 0)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Par défaut, range commence à 0 et utilise un pas de 1 si ces arguments sont omis.

QCM 22 Corrigé

Comment s'appelle l'action de parcourir tous les éléments d'une collection ?

A. L'incrémentation
B. L'itération
C. L'affectation
D. La compilation
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Une itération désigne le passage répété par un bloc de code pour traiter chaque élément d'un ensemble.

QCM 23 Corrigé

Que se passe-t-il si on utilise 'break' dans une boucle imbriquée ?

A. Toutes les boucles s'arrêtent
B. Seule la boucle la plus interne s'arrête
C. Le programme s'arrête complètement
D. Seule la boucle la plus externe s'arrête
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'instruction 'break' ne sort que de la boucle dans laquelle elle est directement écrite.

QCM 24 Corrigé

Laquelle de ces affirmations sur 'while True:' est vraie ?

A. C'est une erreur de syntaxe
B. C'est une boucle qui ne s'exécutera jamais
C. C'est une boucle infinie qui nécessite un 'break' interne pour s'arrêter
D. Elle ne peut être utilisée que pour des calculs mathématiques
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
C'est un motif courant pour créer une boucle qui attend un événement spécifique pour s'interrompre via break.

QCM 25 Corrigé

Quel est le risque majeur d'une boucle while basée sur une entrée utilisateur sans validation ?

A. La boucle peut s'arrêter trop tôt
B. Le programme peut planter par manque de mémoire
C. La boucle peut devenir infinie si l'utilisateur ne donne jamais la bonne valeur
D. Python supprimera automatiquement le fichier script
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Si la condition de sortie dépend d'une saisie précise qui n'arrive jamais, le programme reste bloqué.

QCM 26 Corrigé

Comment s'assurer que le code dans une boucle s'arrête après 10 tours même si une condition while est toujours vraie ?

A. En utilisant une variable compteur et 'break'
B. En changeant 'while' en 'if'
C. C'est impossible en Python
D. En supprimant l'indentation
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Ajouter une sécurité avec un compteur manuel permet de garantir l'arrêt du programme.

QCM 27 Corrigé

L'instruction 'continue' est utile pour :

A. Ignorer certains éléments spécifiques d'une liste
B. Accélérer la vitesse de calcul de 50%
C. Définir une nouvelle variable
D. Fermer le terminal
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Elle permet de sauter le reste du bloc de code pour certains cas (ex: ignorer les nombres négatifs).

QCM 28 Corrigé

Quelle est la sortie de : for i in range(2): print(i) ?

A. 0, 1, 2
B. 1, 2
C. 0, 1
D. 2, 1, 0
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
range(2) génère les entiers 0 et 1.

QCM 29 Corrigé

Lequel de ces itérables ne peut pas être utilisé directement dans une boucle for ?

A. Une liste [1, 2]
B. Une chaîne de caractères 'Bonjour'
C. Un nombre entier simple comme 10
D. Un dictionnaire {'a': 1}
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Un entier n'est pas un objet 'itérable'. Il faut utiliser range(10) pour itérer 10 fois.

QCM 30 Corrigé

Pourquoi l'indentation est-elle cruciale dans les boucles ?

A. Pour faire joli
B. Pour séparer les variables des fonctions
C. Elle définit quelles lignes de code appartiennent à la boucle
D. Elle n'est pas nécessaire en Python
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Sans indentation, Python ne sait pas quel code doit être répété et quel code est à l'extérieur de la boucle.

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

Structure qui permet de parcourir successivement les éléments d’un objet itérable (liste, chaîne, dictionnaire, etc.). Elle est idéale quand on sait « quoi parcourir » et qu’on veut traiter chaque élément de la même façon.

Boucle qui répète un bloc de code tant qu’une condition reste vraie. Elle est surtout utile quand on ne connaît pas à l’avance le nombre de répétitions et que l’arrêt dépend d’un test logique.

Action de répéter un traitement en passant d’un élément au suivant, ou d’un « tour de boucle » au prochain. En programmation, itérer signifie avancer étape par étape selon une règle de parcours.

Objet dont on peut obtenir les éléments un par un, dans un certain ordre. Les listes, chaînes et dictionnaires sont itérables, ce qui permet de les utiliser directement dans une boucle for.

Type d’objet organisé en éléments ordonnés, accessibles souvent par position. Les listes et les chaînes sont des séquences, ce qui facilite leur parcours et certaines opérations répétitives.

Fonction qui produit une suite d’entiers, très pratique pour répéter une action un certain nombre de fois. Elle permet aussi de définir un début, une fin (non incluse) et un pas pour contrôler le rythme.

Principe selon lequel la valeur de fin n’est pas incluse dans la suite générée par range(). Ce détail évite beaucoup d’erreurs de comptage, mais demande une attention particulière au moment de fixer les limites.

Valeur qui indique l’écart entre deux nombres successifs dans range(). Un pas de 2 fait avancer de 2 en 2, et un pas négatif permet de parcourir à rebours.

Expression qui s’évalue en vrai ou faux. Dans un while, c’est cette condition qui décide si la boucle continue ou s’arrête.

Variable qui influence directement la condition d’une boucle, notamment dans un while. En la mettant à jour correctement, on garantit que la boucle progresse et finit par s’arrêter.

Variable qui sert à compter des tours de boucle ou des éléments traités. Il est souvent utilisé comme « sécurité » pour limiter une répétition et éviter qu’un programme tourne indéfiniment.

Situation où une boucle ne s’arrête jamais parce que la condition reste vraie (ou n’est jamais rendue fausse). Elle peut bloquer un programme et consommer inutilement des ressources si elle n’est pas maîtrisée.

Commande qui arrête immédiatement la boucle en cours. Elle est utile quand on a trouvé ce qu’on cherchait ou quand on veut sortir d’une répétition dès qu’un cas particulier apparaît.

Commande qui interrompt le tour de boucle actuel et passe directement au suivant. On l’utilise pour ignorer certains cas sans arrêter toute la boucle.

Décalage (espaces) qui délimite les blocs de code en Python. Elle est essentielle pour indiquer quelles instructions appartiennent à une boucle, à une condition ou à une fonction.

Organisation où une boucle se trouve à l’intérieur d’une autre. C’est une technique fréquente pour traiter des structures en plusieurs dimensions, comme des tableaux ou des listes de listes.

Bloc optionnel qui peut suivre un for ou un while. Il s’exécute lorsque la boucle se termine normalement, ce qui permet de gérer proprement un scénario « terminé sans interruption ».

À propos de ce QCM

Travailler les boucles en Python, ce n’est pas seulement apprendre une syntaxe : c’est apprendre à raisonner sur l’exécution d’un programme.

La boucle for sert principalement à parcourir un objet itérable, comme une liste, une chaîne de caractères ou un dictionnaire.

Elle permet de traiter chaque élément de façon régulière, en gardant un code lisible.

La fonction range() complète parfaitement cette logique lorsqu’on veut répéter une action un certain nombre de fois : elle génère une suite d’entiers contrôlable grâce à un début, une fin (non incluse) et un pas.

Cette idée de borne supérieure exclue peut surprendre au début, mais elle simplifie les parcours et le comptage lorsqu’on la maîtrise.

La boucle while, elle, repose sur une condition booléenne : tant que la condition est vraie, le bloc se répète.

C’est très utile quand le nombre d’itérations dépend d’une situation qui évolue, comme une saisie, un état à atteindre ou une recherche.

Dans ce contexte, la variable de contrôle et le compteur jouent un rôle central : bien les mettre à jour garantit que la boucle progresse et finit par s’arrêter.

C’est aussi là qu’apparaissent les pièges courants, notamment la boucle infinie, qui survient si la condition ne change jamais.

Vous verrez également comment piloter le comportement d’une boucle avec break (sortir immédiatement) et continue (passer au tour suivant), ainsi que l’intérêt des boucles imbriquées pour manipuler des structures plus complexes.

Enfin, l’indentation en Python n’est pas un détail : elle définit précisément les blocs exécutés dans la boucle, ce qui rend votre code correct et compréhensible.

Conclusion

Maîtriser les boucles en Python, c’est gagner en autonomie et en efficacité dès les premiers programmes.

En comprenant quand utiliser for ou while, comment contrôler les répétitions avec range(), et comment sécuriser un arrêt grâce à un compteur, vous évitez les erreurs fréquentes et vous écrivez un code plus propre.

L’entraînement régulier sur ces notions renforce votre logique, améliore votre lecture de code et prépare concrètement aux évaluations et aux situations réelles de développement.

Prenez l’habitude de tester, ajuster, et relire vos conditions : ce sont ces réflexes qui font progresser durablement.