Python est souvent choisi pour débuter en programmation, car sa syntaxe est lisible et proche du langage naturel.
Mais pour réussir un devoir, un examen ou un concours, il ne suffit pas de “reconnaître” le code : il faut comprendre les notions fondamentales qui reviennent partout.
Cette série de QCM vous entraîne précisément sur ces bases : manipuler des variables, afficher des résultats, parcourir des listes, répéter une action avec une boucle, et organiser votre code avec des fonctions.
Vous allez aussi consolider des points essentiels comme l’indentation, la différence entre objets mutables et immuables, ou encore les conversions de types lorsqu’on passe du texte au nombre.
L’objectif est de vous donner des réflexes solides et un raisonnement clair, afin d’écrire du code correct, de repérer rapidement les erreurs classiques et de progresser avec confiance.
Python est souvent choisi pour débuter en programmation, car sa syntaxe est lisible et proche du langage naturel.
Mais pour réussir un devoir, un examen ou un concours, il ne suffit pas de “reconnaître” le code : il faut comprendre les notions fondamentales qui reviennent partout.
Cette série de QCM vous entraîne précisément sur ces bases : manipuler des variables, afficher des résultats, parcourir des listes, répéter une action avec une boucle, et organiser votre code avec des fonctions.
Vous allez aussi consolider des points essentiels comme l’indentation, la différence entre objets mutables et immuables, ou encore les conversions de types lorsqu’on passe du texte au nombre.
L’objectif est de vous donner des réflexes solides et un raisonnement clair, afin d’écrire du code correct, de repérer rapidement les erreurs classiques et de progresser avec confiance.
QCM
1
Corrigé
Comment déclare-t-on une variable de type entier 'x' avec la valeur 5 en Python ?
A. int x = 5
B. x := 5
C. x = 5
D. var x = 5
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
Python utilise le typage dynamique ; il suffit d'assigner une valeur à un nom avec l'opérateur '='.
QCM
2
Corrigé
Quel est le résultat de l'expression 10 // 3 ?
A. 3.33
B. 3
C. 1
D. 0
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
L'opérateur // effectue une division entière, ne gardant que la partie entière du quotient.
QCM
3
Corrigé
Quelle fonction permet d'afficher du texte dans la console ?
A. print()
B. echo()
C. display()
D. log()
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
La fonction print() est la commande standard pour envoyer des données vers la sortie standard.
QCM
4
Corrigé
Comment accède-t-on au premier élément d'une liste nommée 'ma_liste' ?
A. ma_liste[1]
B. ma_liste.first()
C. ma_liste{0}
D. ma_liste[0]
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
En Python, l'indexation des séquences commence toujours par l'indice 0.
QCM
5
Corrigé
Quelle est la syntaxe correcte pour une boucle qui s'exécute 5 fois ?
A. for i in range(5):
B. for (i=0; i<5; i++):
C. while i < 5:
D. repeat 5 times:
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
La fonction range(5) génère une suite de nombres de 0 à 4, soit 5 itérations au total.
QCM
6
Corrigé
Quel mot-clé est utilisé pour définir le début d'une fonction ?
A. function
B. def
C. func
D. define
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
Le mot-clé 'def' (pour define) introduit la définition d'un bloc de code réutilisable.
QCM
7
Corrigé
Que signifie le terme 'mutable' pour un objet Python ?
A. L'objet est invisible
B. L'objet peut être modifié après sa création
C. L'objet est constant
D. L'objet change de type automatiquement
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
Un objet mutable, comme une liste, permet de modifier ses éléments sans créer un nouvel objet.
QCM
8
Corrigé
Quelle est la sortie de : print(type('123')) ?
A. <class 'int'>
B. <class 'float'>
C. <class 'str'>
D. <class 'list'>
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
Tout texte entouré de guillemets ou d'apostrophes est considéré comme une chaîne de caractères (str).
QCM
9
Corrigé
Comment ajoute-t-on l'élément 10 à la fin de la liste 'L' ?
A. L.append(10)
B. L.add(10)
C. L.push(10)
D. L.insert(10)
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
La méthode append() ajoute un objet unique à la toute fin d'une liste existante.
QCM
10
Corrigé
Quel symbole est utilisé pour les commentaires sur une seule ligne ?
A. //
B. /*
C. #
D. --
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
Le symbole dièse (#) indique à l'interpréteur d'ignorer tout le texte qui suit sur la ligne.
QCM
11
Corrigé
Quelle est la valeur de 'x' après : x = 5 > 3 ?
A. True
B. False
C. 5
D. None
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
Le résultat d'une comparaison est un booléen ; 5 est bien supérieur à 3, donc True.
QCM
12
Corrigé
Comment s'appelle l'erreur qui survient quand l'indentation est incorrecte ?
A. SpaceError
B. LogicError
C. TabError
D. IndentationError
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
Python utilise l'indentation pour définir les blocs ; une erreur d'alignement bloque l'exécution.
QCM
13
Corrigé
Quelle méthode permet de transformer une chaîne en majuscules ?
A. upper()
B. capitalize()
C. to_upper()
D. maj()
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
La méthode upper() convertit tous les caractères alphabétiques d'une chaîne en majuscules.
QCM
14
Corrigé
Quel mot-clé permet de sortir immédiatement d'une boucle ?
A. stop
B. break
C. exit
D. continue
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
L'instruction break interrompt la boucle en cours et passe à l'instruction suivante du programme.
QCM
15
Corrigé
Comment crée-t-on un dictionnaire vide ?
A. d = []
B. d = ()
C. d = {}
D. d = dict[]
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
Les accolades {} sont les délimiteurs utilisés pour définir les dictionnaires (paires clés:valeurs).
QCM
16
Corrigé
Quelle est la sortie de : len([1, 2, [3, 4]]) ?
A. 4
B. 2
C. 3
D. Erreur
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
La liste contient trois éléments : l'entier 1, l'entier 2 et la liste [3, 4].
QCM
17
Corrigé
Comment appelle-t-on une fonction qui s'appelle elle-même ?
A. Une fonction miroir
B. Une fonction récursive
C. Une fonction infinie
D. Une fonction auto-définie
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
La récursivité est une méthode où la solution d'un problème dépend de versions plus petites du même problème.
QCM
18
Corrigé
Quel opérateur est utilisé pour calculer le reste d'une division ?
A. %
B. /
C. //
D. ^
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
L'opérateur modulo (%) renvoie le reste de la division euclidienne entre deux nombres.
QCM
19
Corrigé
Lequel de ces types de données est immuable ?
A. list
B. dict
C. tuple
D. set
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
Un tuple est une séquence ordonnée que l'on ne peut plus modifier une fois créée.
QCM
20
Corrigé
Comment vérifie-t-on si 'a' est égal à 'b' ?
A. a = b
B. a == b
C. a is b
D. a === b
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
L'opérateur '==' teste l'égalité des valeurs, tandis que '=' est utilisé pour l'affectation.
QCM
21
Corrigé
Quelle instruction permet de capturer une erreur pour éviter le crash du programme ?
A. if/else
B. catch/error
C. try/except
D. check/fail
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
Le bloc 'try' teste le code, et 'except' définit la marche à suivre en cas d'exception.
QCM
22
Corrigé
Quelle est la sortie de 'abc' + 'def' ?
A. abcdef
B. abc def
C. abc+def
D. Erreur
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
L'opérateur '+' effectue la concaténation (fusion) lorsqu'il est utilisé entre deux chaînes.
QCM
23
Corrigé
Comment transforme-t-on la chaîne '5' en nombre entier ?
A. int('5')
B. str(5)
C. float('5')
D. convert('5', int)
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
La fonction int() convertit une chaîne ou un nombre à virgule en un entier si possible.
QCM
24
Corrigé
Dans une fonction, quel mot-clé permet de renvoyer une valeur ?
A. output
B. send
C. give
D. return
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
L'instruction 'return' arrête l'exécution de la fonction et transmet le résultat à l'appelant.
QCM
25
Corrigé
Quel est le résultat de 2 ** 3 ?
A. 6
B. 5
C. 8
D. 9
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
L'opérateur ** est utilisé pour calculer la puissance (2 à la puissance 3 = 8).
QCM
26
Corrigé
Quelle est la portée d'une variable définie à l'intérieur d'une fonction ?
A. Globale
B. Locale
C. Universelle
D. Statique
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
Une variable locale n'est accessible que depuis l'intérieur de la fonction où elle a été créée.
QCM
27
Corrigé
Lequel de ces noms de variable est invalide en Python ?
A. ma_variable
B. Variable2
C. 2_variable
D. _variable
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
Un nom de variable ne peut jamais commencer par un chiffre en Python.
QCM
28
Corrigé
Que fait l'instruction L.pop() sur une liste L ?
A. Supprime le premier élément
B. Supprime et renvoie le dernier élément
C. Ajoute un élément vide
D. Trie la liste
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
Par défaut, pop() retire le dernier élément de la liste et permet de récupérer sa valeur.
QCM
29
Corrigé
Quelle fonction permet de demander une saisie à l'utilisateur ?
A. input()
B. get()
C. read()
D. ask()
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
La fonction input() affiche un message et attend que l'utilisateur tape du texte.
QCM
30
Corrigé
Quelle est la valeur de 'x' : x = list(range(3)) ?
A. [0, 1, 2, 3]
B. [1, 2, 3]
C. [0, 1, 2]
D. [3, 3, 3]
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
range(3) génère les nombres 0, 1, 2. La borne supérieure (3) est toujours exclue.
Mots & Définitions
Consultez les définitions des termes importants.
L’affectation consiste à donner une valeur à une variable avec le signe =. En Python, on ne déclare pas le type à l’avance : la variable prend le type de la valeur qu’on lui assigne.
Une variable est un nom qui référence une valeur stockée en mémoire. Elle sert à conserver une donnée pour la réutiliser, la comparer ou la modifier au fil du programme.
print() affiche du texte ou des valeurs dans la console. C’est l’outil de base pour visualiser un résultat, comprendre un calcul ou déboguer un programme.
Une liste est une collection ordonnée d’éléments modifiable après création. Elle permet de regrouper plusieurs valeurs et de les manipuler facilement par index ou par méthodes.
L’indexation permet d’accéder à un élément d’une liste grâce à sa position. En Python, le premier élément est à l’indice 0, ce qui évite des décalages dans les parcours.
Une boucle for répète un bloc de code en parcourant une séquence ou une suite de valeurs. Elle est souvent utilisée avec range() quand on veut répéter une action un certain nombre de fois.
range() génère une suite d’entiers utile pour contrôler des répétitions. Elle produit des valeurs de 0 jusqu’à une borne de fin non incluse, ce qui facilite le comptage.
def sert à définir une fonction en Python. Il introduit le nom de la fonction, ses paramètres éventuels, puis le bloc d’instructions qui sera exécuté lors de l’appel.
Un objet mutable peut être modifié après sa création, sans être remplacé par un nouvel objet. Les listes et dictionnaires sont mutables, ce qui permet d’ajouter, retirer ou modifier des éléments.
Un tuple est une collection ordonnée dont le contenu ne peut pas être modifié directement. Il est utile pour représenter des données stables, comme une paire ou un groupe de valeurs fixes.
Un commentaire est un texte ignoré par Python, utilisé pour expliquer le code. Sur une seule ligne, il commence par # et sert à rendre le programme plus lisible.
L’indentation structure les blocs de code en Python, notamment les boucles, conditions et fonctions. Une indentation incorrecte peut empêcher le programme de s’exécuter correctement.
try/except permet d’intercepter une erreur pendant l’exécution et d’éviter un arrêt brutal du programme. On place le code à risque dans try, puis on définit une réaction adaptée dans except.
break interrompt immédiatement une boucle en cours. Il est utile quand on a trouvé ce qu’on cherchait ou quand une condition impose de sortir sans continuer les répétitions.
int() transforme une valeur en entier lorsqu’elle est convertible, comme une chaîne numérique. Elle sert souvent à convertir une saisie utilisateur avant un calcul.
À propos de ce QCM
Ces QCM couvrent les fondations de Python telles qu’on les rencontre dans la majorité des exercices.
D’abord, l’affectation avec = permet de créer une variable et de lui associer une valeur.
Python étant un langage à typage dynamique, le type est porté par la valeur, et non déclaré explicitement à la manière d’autres langages.
La fonction print() intervient ensuite comme outil central : elle sert à afficher un résultat, vérifier un calcul et comprendre ce que fait le programme étape par étape.
La manipulation des collections est un autre axe majeur.
La liste (list) est une structure ordonnée et mutable : on peut y accéder par index, ajouter ou retirer des éléments.
L’indexation commence à 0, ce qui explique l’accès au “premier” élément.
Des méthodes comme append() ou pop() permettent respectivement d’ajouter en fin de liste ou de retirer (et récupérer) le dernier élément.
Les QCM abordent aussi des objets immuables comme le tuple : ici, on ne modifie pas les éléments, ce qui est utile lorsque les données doivent rester stables.
Pour contrôler le déroulement du programme, on retrouve la boucle for, souvent associée à range() pour répéter une action un nombre de fois.
La logique de range() (fin non incluse) fait partie des détails importants à maîtriser pour éviter les erreurs de comptage.
Les fonctions, définies avec def, permettent de structurer le code et de réutiliser une logique, tandis que return renvoie un résultat à l’appelant.
Enfin, ces QCM insistent sur des aspects pratiques : les commentaires (#) pour expliquer le code, l’indentation qui définit les blocs, et la gestion d’erreurs avec try/except pour éviter un crash.
On retrouve également des opérations et conversions fréquentes, comme int() pour transformer une chaîne numérique en entier, ou des opérateurs comme %, // et ** qui répondent à des besoins différents (reste, quotient entier, puissance).
Conclusion
En travaillant ces QCM, vous consolidez les réflexes indispensables pour écrire du Python propre et fiable : créer des variables, manipuler des listes, maîtriser les boucles, structurer avec des fonctions et éviter les erreurs courantes d’indentation ou de type.
Ce socle est celui sur lequel reposent la majorité des exercices scolaires et des sujets de concours.
En vous entraînant régulièrement, vous gagnerez en rapidité et en précision, tout en comprenant mieux ce que fait réellement votre code.
C’est cette compréhension qui permet de progresser durablement, de corriger ses erreurs plus facilement et d’aborder des chapitres plus avancés avec confiance.