QCMUP.COM

Liste QCM Python Corrigé – Partie 3

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

Les conditions sont l’un des premiers outils indispensables en Python, car elles permettent à un programme de prendre des décisions.

Dès qu’on veut adapter un traitement selon une valeur, vérifier une entrée utilisateur, filtrer une donnée ou gérer plusieurs cas possibles, on s’appuie sur les structures if, elif et else.

Bien maîtriser ces bases évite une grande partie des erreurs de logique, surtout chez les débutants.

Les QCM proposés ici évaluent les réflexes essentiels liés aux conditions : syntaxe correcte, rôle des deux-points, importance de l’indentation, opérateurs de comparaison et opérateurs logiques.

Ils abordent aussi des points très pratiques comme le chaînage des comparaisons, la notion de valeurs falsy, et la priorité des opérateurs dans une expression complexe.

Ce sont des compétences incontournables en formation, en examens et dans la pratique quotidienne, car elles conditionnent la clarté, la fiabilité et la lisibilité de tout code Python.

Les conditions sont l’un des premiers outils indispensables en Python, car elles permettent à un programme de prendre des décisions.

Dès qu’on veut adapter un traitement selon une valeur, vérifier une entrée utilisateur, filtrer une donnée ou gérer plusieurs cas possibles, on s’appuie sur les structures if, elif et else.

Bien maîtriser ces bases évite une grande partie des erreurs de logique, surtout chez les débutants.

Les QCM proposés ici évaluent les réflexes essentiels liés aux conditions : syntaxe correcte, rôle des deux-points, importance de l’indentation, opérateurs de comparaison et opérateurs logiques.

Ils abordent aussi des points très pratiques comme le chaînage des comparaisons, la notion de valeurs falsy, et la priorité des opérateurs dans une expression complexe.

Ce sont des compétences incontournables en formation, en examens et dans la pratique quotidienne, car elles conditionnent la clarté, la fiabilité et la lisibilité de tout code Python.

QCM 1 Corrigé

Quel mot-clé est utilisé pour initier une structure conditionnelle en Python ?

A. when
B. if
C. case
D. condition
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Le mot-clé 'if' est l'instruction standard pour tester une condition logique.

QCM 2 Corrigé

Comment Python délimite-t-il le bloc de code qui doit s'exécuter si une condition est vraie ?

A. Par des accolades { }
B. Par des parenthèses ( )
C. Par l'indentation (espaces ou tabulations)
D. Par le mot-clé 'end'
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Contrairement à d'autres langages, Python utilise l'alignement visuel du texte pour définir les blocs de code.

QCM 3 Corrigé

Quel caractère doit obligatoirement terminer une ligne contenant 'if', 'elif' ou 'else' ?

A. Un point-virgule (;)
B. Un point (.)
C. Un deux-points (:)
D. Un point d'exclamation (!)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le symbole ':' indique à Python qu'un nouveau bloc de code indenté va suivre.

QCM 4 Corrigé

Quel mot-clé est une contraction de 'else if' en Python ?

A. elsif
B. elseif
C. else-if
D. elif
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
'elif' permet de tester plusieurs conditions successives de manière concise.

QCM 5 Corrigé

Quelle est la fonction du mot-clé 'else' dans une structure conditionnelle ?

A. Il définit la condition principale
B. Il exécute un code si aucune des conditions précédentes n'est vraie
C. Il force l'arrêt du programme
D. Il répète le bloc de code indéfiniment
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
'else' sert de solution de secours finale quand tous les tests précédents ont échoué.

QCM 6 Corrigé

Lequel de ces opérateurs est utilisé pour vérifier si deux valeurs sont strictement égales ?

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

Réponse correcte : A

Justification :
L'opérateur '==' compare les valeurs, alors que '=' est réservé à l'affectation de variables.

QCM 7 Corrigé

Quel est le résultat de l'expression (5 > 3) ?

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

Réponse correcte : C

Justification :
Puisque 5 est effectivement supérieur à 3, l'expression retourne la valeur booléenne True.

QCM 8 Corrigé

Que se passe-t-il si vous oubliez d'indenter le code après un 'if' ?

A. Le code s'exécute normalement
B. Python ignore le bloc 'if'
C. Le programme affiche un avertissement mais continue
D. Python génère une erreur de syntaxe (IndentationError)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
L'indentation est syntaxiquement obligatoire en Python pour structurer le flux logique.

QCM 9 Corrigé

Quel opérateur signifie 'différent de' en Python ?

A. <>
B. !=
C. not
D. ~=
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'opérateur '!=' vérifie que deux valeurs ne sont pas identiques.

QCM 10 Corrigé

Comment vérifier si une variable 'age' est comprise entre 18 et 25 ans inclus ?

A. if age == 18 or 25:
B. if 18 <= age <= 25:
C. if age between 18 and 25:
D. if age in 18:25:
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Python permet d'enchaîner les opérateurs de comparaison pour vérifier un intervalle de manière lisible.

QCM 11 Corrigé

Quel opérateur logique renvoie True seulement si les deux conditions testées sont vraies ?

A. and
B. or
C. not
D. both
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
L'opérateur 'and' exige que la condition de gauche ET la condition de droite soient valides.

QCM 12 Corrigé

Que renvoie l'expression : not (10 == 10) ?

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

Réponse correcte : B

Justification :
L'opérateur 'not' inverse le résultat ; 10==10 est True, donc son inverse est False.

QCM 13 Corrigé

Lequel de ces opérateurs est l'opérateur 'inférieur ou égal' ?

A. =<
B. <<
C. =<=
D. <=
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
L'ordre des caractères est fixe : le signe inférieur suivi du signe égal.

QCM 14 Corrigé

Dans une structure if/elif/else, combien de blocs 'elif' peut-on utiliser ?

A. Un seul
B. Autant que l'on veut
C. Maximum trois
D. Zéro
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
On peut multiplier les 'elif' pour tester une multitude de cas spécifiques avant le 'else' final.

QCM 15 Corrigé

Quelle valeur booléenne est associée à un nombre égal à 0 en Python ?

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

Réponse correcte : C

Justification :
Dans un contexte conditionnel, le nombre 0 est considéré comme 'Falsy' (équivalent à False).

QCM 16 Corrigé

Quel est le résultat de : True or False ?

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

Réponse correcte : A

Justification :
L'opérateur 'or' a besoin qu'au moins une des deux conditions soit vraie pour renvoyer True.

QCM 17 Corrigé

Si x = 10, quel bloc s'exécutera : if x > 5: print('A') else: print('B') ?

A. Le bloc 'if' affichera 'A'
B. Le bloc 'else' affichera 'B'
C. Les deux s'afficheront
D. Rien ne s'affichera
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La condition 10 > 5 étant vraie, Python exécute le premier bloc et ignore le 'else'.

QCM 18 Corrigé

Comment appelle-t-on une structure 'if' située à l'intérieur d'un autre bloc 'if' ?

A. Une condition double
B. Une condition miroir
C. Une condition imbriquée (nested)
D. Une boucle infinie
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
L'imbrication permet de réaliser des tests logiques plus complexes et hiérarchisés.

QCM 19 Corrigé

Lequel de ces éléments est considéré comme 'False' lors d'un test conditionnel ?

A. Une chaîne de caractères vide ""
B. Le nombre 1
C. Une liste contenant un élément [0]
D. La chaîne "False"
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
En Python, les séquences vides (chaînes, listes) sont évaluées comme fausses.

QCM 20 Corrigé

Quelle est la règle d'or de l'indentation pour un même bloc de code ?

A. Utiliser des tabulations et des espaces mélangés
B. L'indentation doit être identique pour toutes les lignes du bloc
C. Chaque ligne doit avoir un nombre d'espaces différent
D. L'indentation est facultative pour la dernière ligne
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La cohérence de l'indentation est cruciale pour que l'interpréteur comprenne l'unité du bloc.

QCM 21 Corrigé

Que fait l'instruction suivante : if "a" in "banane": ?

A. Elle vérifie si le texte contient la lettre 'a'
B. Elle compte le nombre de 'a'
C. Elle remplace le 'a'
D. Elle crée une erreur de type
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Le mot-clé 'in' permet de tester l'appartenance d'un élément à une séquence.

QCM 22 Corrigé

Quel opérateur a la priorité la plus élevée dans une condition ?

A. or
B. and
C. Les parenthèses ( )
D. not
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Comme en mathématiques, les parenthèses permettent de forcer l'ordre d'évaluation.

QCM 23 Corrigé

Peut-on utiliser un 'else' sans un 'if' au préalable ?

A. Oui, pour terminer un programme
B. Non, c'est une erreur de syntaxe
C. Oui, si on est dans une boucle
D. Seulement si la variable est vide
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Un 'else' est structurellement rattaché à un test 'if' ou 'elif' déclencheur.

QCM 24 Corrigé

Lequel de ces tests vérifie que x est positif ou nul ?

A. if x >= 0:
B. if x > 0:
C. if x !< 0:
D. if x is positive:
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
L'opérateur '>=' inclut le zéro dans la vérification.

QCM 25 Corrigé

Quel est le résultat de : (True and True) and False ?

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

Réponse correcte : B

Justification :
Même si la première partie est True, l'ajout du 'and False' rend l'ensemble de l'expression faux.

QCM 26 Corrigé

Quelle est l'utilité du 'elif' par rapport à plusieurs 'if' successifs ?

A. Il est plus lent
B. Il permet d'arrêter les tests dès qu'une condition est trouvée vraie
C. Il permet d'exécuter tous les blocs vrais
D. Il n'y a aucune différence
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Avec 'elif', Python ignore les conditions suivantes dès qu'une étape est validée, optimisant le calcul.

QCM 27 Corrigé

Que se passe-t-il si aucune condition d'un 'if/elif' n'est vraie et qu'il n'y a pas de 'else' ?

A. Le programme plante
B. Python redémarre la structure
C. Rien ne se passe, le programme continue après la structure
D. Une erreur 'ConditionNotFound' apparaît
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Si aucun test ne réussit, le flux d'exécution saute simplement tout le bloc conditionnel.

QCM 28 Corrigé

Lequel de ces mots-clés n'est PAS un opérateur logique Python ?

A. and
B. not
C. xor
D. or
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Bien qu'existant en logique, 'xor' n'est pas un mot-clé opérateur standard (on utilise '^' ou une combinaison).

QCM 29 Corrigé

L'expression 'not not True' équivaut à :

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

Réponse correcte : A

Justification :
Une double négation s'annule et revient à la valeur initiale.

QCM 30 Corrigé

Quel est le meilleur moyen de vérifier si une liste 'L' est vide ?

A. if L is None:
B. if L == 0:
C. if not L:
D. if L is empty:
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
En Python, 'if not L' est la manière idiomatique de tester si une séquence ne contient aucun élément.

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

if est le mot-clé qui démarre une condition en Python. Il permet d’exécuter un bloc de code uniquement si une expression est vraie. C’est la base de la prise de décision dans un programme.

Un bloc conditionnel est un ensemble d’instructions exécutées selon un test. En Python, il est délimité par l’indentation plutôt que par des accolades. Sa structure dépend donc directement de l’alignement des lignes.

Les deux-points terminent une ligne if, elif ou else et annoncent le début d’un bloc. Ils indiquent à Python qu’un bloc indenté va suivre. Leur oubli provoque une erreur de syntaxe.

elif signifie "sinon si" et permet de tester une condition supplémentaire lorsque le if précédent est faux. Il s’insère dans une chaîne de tests exclusifs. Il évite de répéter plusieurs if indépendants quand un seul bloc doit s’exécuter.

else correspond au cas par défaut d’une structure conditionnelle. Il s’exécute uniquement si toutes les conditions précédentes sont fausses. Il permet de gérer une situation de repli de manière claire.

IndentationError apparaît lorsque l’indentation du code est incorrecte. Cela arrive souvent après un if lorsque le bloc n’est pas décalé comme attendu. En Python, une indentation incohérente empêche l’exécution du programme.

== compare deux valeurs et indique si elles sont égales. Il renvoie True si les deux côtés ont la même valeur et False sinon. Il ne faut pas le confondre avec =, qui sert à l’affectation.

!= signifie "différent de" et permet de tester une inégalité. Il renvoie True si les valeurs comparées ne sont pas identiques. C’est un opérateur très courant dans les conditions.

Python permet de chaîner les comparaisons dans une seule expression, comme 18 <= age <= 25. Cela rend le code plus lisible et plus naturel. Ce chaînage évite de répéter la variable plusieurs fois.

and renvoie True uniquement si les deux conditions sont vraies. Si l’une des deux est fausse, le résultat est False. Il sert à imposer plusieurs contraintes en même temps.

or renvoie True dès qu’au moins une condition est vraie. Il ne renvoie False que si toutes les conditions sont fausses. Il sert à autoriser plusieurs cas possibles.

not inverse la valeur logique d’une expression. Il transforme True en False et False en True. Il est souvent utilisé pour exprimer une négation clairement.

Les valeurs dites falsy sont considérées comme False lors d’un test conditionnel. Cela inclut notamment 0, "" (chaîne vide) et les collections vides. Cette règle permet d’écrire des conditions plus simples et idiomatiques.

Une condition imbriquée est un if placé à l’intérieur d’un autre bloc if. Elle permet de raffiner une décision en plusieurs étapes. Elle doit rester lisible pour éviter une logique trop complexe.

in permet de tester l’appartenance, par exemple vérifier si un caractère est dans un texte ou si un élément est dans une liste. Il renvoie True si l’élément est présent. C’est un outil pratique pour des tests simples et clairs.

La priorité détermine l’ordre d’évaluation d’une condition. Les parenthèses ont la priorité la plus élevée et permettent de forcer un ordre explicite. Elles évitent les ambiguïtés dans les expressions complexes.

En Python, la manière la plus simple de tester qu’une liste est vide est d’écrire if not L. Une liste vide est considérée comme falsy. Cette écriture est courte, claire et très utilisée.

À propos de ce QCM

Cette série de QCM se concentre sur la structure conditionnelle en Python et sur la manière dont le langage évalue les tests.

La base repose sur if, qui exécute un bloc uniquement si la condition est vraie.

Le bloc est défini par l’indentation, ce qui oblige à écrire un code propre et cohérent : une indentation incorrecte provoque une IndentationError.

Les deux-points jouent également un rôle crucial, car ils annoncent le début du bloc indenté.

Les QCM mettent ensuite en valeur l’enchaînement if / elif / else.

elif permet de tester plusieurs scénarios de manière exclusive : dès qu’une condition est vraie, les suivantes ne sont plus évaluées.

Cela rend le code plus efficace et plus lisible que plusieurs if indépendants lorsque l’on cherche un seul chemin d’exécution.

else, quant à lui, sert de solution de repli lorsque aucune condition n’est satisfaite, mais il reste optionnel : sans else, le programme continue simplement après le bloc.

Les opérateurs de comparaison sont aussi au centre de l’apprentissage.

== sert à tester l’égalité, != la différence, et des opérateurs comme <= permettent de vérifier des bornes.

Python offre une écriture très lisible avec le chaînage, par exemple 18 <= age <= 25, qui évite les répétitions.

Les opérateurs logiques and, or et not permettent de combiner ou de nier des conditions.

L’idée de court-circuit intervient naturellement : certaines conditions n’ont pas besoin d’être évaluées si le résultat est déjà déterminé.

Les QCM abordent également la notion de valeurs falsy : 0, une chaîne vide ou une liste vide sont considérées comme False dans un test.

C’est pourquoi if not L est une manière simple et idiomatique de vérifier qu’une liste est vide.

Enfin, la priorité des opérateurs est essentielle pour éviter les erreurs d’interprétation.

Les parenthèses restent l’outil le plus sûr pour rendre une condition complexe claire et sans ambiguïté.

Conclusion

Ces QCM offrent un entraînement complet pour maîtriser les conditions en Python, aussi bien sur la forme que sur la logique.

Ils aident à écrire des tests corrects, à structurer un code avec une indentation cohérente, et à combiner efficacement les conditions grâce aux opérateurs logiques.

En s’exerçant régulièrement, l’utilisateur développe des automatismes solides, réduit les erreurs de syntaxe et améliore la qualité de ses raisonnements.

C’est une base essentielle pour progresser ensuite vers les boucles, les fonctions et l’écriture de scripts plus avancés.