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

L es 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

T ravailler 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

M aĂź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.

↑