Dr LALLALI
QCM Python – 80 Questions avec Réponses
& 30 questions d’analyse de code
✅ 1–10 : Commandes de base
1. print("Hello") affiche ?
✅ Réponse : Hello
2. type(10) retourne ?
✅ Réponse : <class 'int'>
3. int("3") + float("4.5") donne ?
✅ Réponse : 7.5
4. Résultat de len("Python") ?
✅ Réponse : 6
5. Opérateur d’exponentiation en Python ?
✅ Réponse : **
6. Résultat de 7 % 3 ?
✅ Réponse : 1
7. Fonction de saisie clavier ?
✅ Réponse : input()
8. Comment écrire un commentaire ?
✅ Réponse : Avec #
9. Résultat de bool("") ?
✅ Réponse : False
10. Type retourné par input() ?
✅ Réponse : str
✅ 11–20 : Conditions (if)
11. Résultat de if 0: ?
✅ Réponse : bloc ignoré (False)
12. Résultat de if "": ?
✅ Réponse : False
13. if 1 or 0: exécute-t-il le bloc ?
✅ Réponse : Oui (True)
14. if a > b: est correct ?
✅ Réponse : Oui
15. elif est utilisé pour ?
✅ Réponse : Chaîne de conditions
16. Mot-clé pour « sinon » ?
✅ Réponse : else
[Link] Dr LALLALI
Dr LALLALI
17. Résultat de not True ?
✅ Réponse : False
18. Quel est le bon mot-clé ?
✅ Réponse : if
19. Peut-on imbriquer des if ?
✅ Réponse : Oui
20. if 5 == "5": donne ?
✅ Réponse : False
✅ 21–30 : Boucles for
21. for i in range(3): itère combien de fois ?
✅ Réponse : 3 fois
22. range(2,5) donne ?
✅ Réponse : 2,3,4
23. for x in "abc": affiche ?
✅ Réponse : a b c
24. range(1, 10, 2) donne ?
✅ Réponse : 1,3,5,7,9
25. Peut-on boucler sur une liste ?
✅ Réponse : Oui
26. Mot-clé pour arrêter la boucle ?
✅ Réponse : break
27. Mot-clé pour passer à l’itération suivante ?
✅ Réponse : continue
28. Peut-on utiliser else avec for ?
✅ Réponse : Oui
29. Peut-on modifier une liste dans for ?
✅ Réponse : Non recommandé
30. Résultat de sum(range(3)) ?
✅ Réponse : 3
✅ 31–45 : Fonctions
31. Mot-clé pour définir une fonction ?
✅ Réponse : def
32. def f(): return 2+3 donne ?
✅ Réponse : 5
33. Une fonction sans return retourne ?
✅ Réponse : None
34. Peut-on passer un paramètre à une fonction ?
✅ Réponse : Oui
[Link] Dr LALLALI
Dr LALLALI
35. Peut-on retourner plusieurs valeurs ?
✅ Réponse : Oui (tuple)
36. Que fait return ?
✅ Réponse : renvoie une valeur
37. Peut-on appeler une fonction dans une autre ?
✅ Réponse : Oui
38. Peut-on créer des fonctions anonymes ?
✅ Réponse : Oui, avec lambda
39. Peut-on avoir des valeurs par défaut ?
✅ Réponse : Oui
40. *args permet ?
✅ Réponse : Nombre variable d'arguments
41. **kwargs signifie ?
✅ Réponse : Arguments nommés
42. Peut-on avoir des fonctions dans des fonctions ?
✅ Réponse : Oui
43. Une fonction peut-elle modifier un paramètre de type liste ?
✅ Réponse : Oui (effet de bord)
44. Que retourne len([]) ?
✅ Réponse : 0
45. print(f(3)) où f n'est pas défini ?
✅ Réponse : Erreur
✅ 46–55 : Listes
46. Syntaxe pour liste vide ?
✅ Réponse : []
47. Ajouter un élément à une liste ?
✅ Réponse : .append()
48. Supprimer un élément par position ?
✅ Réponse : .pop()
49. Supprimer par valeur ?
✅ Réponse : .remove()
50. Trier une liste ?
✅ Réponse : .sort()
51. Inverser une liste ?
✅ Réponse : .reverse()
52. L[1:3] donne ?
✅ Réponse : éléments aux indices 1 et 2
53. len([1, 2, 3]) retourne ?
✅ Réponse : 3
54. Est-ce que [1, "a", True] est valide ?
✅ Réponse : Oui
[Link] Dr LALLALI
Dr LALLALI
55. Que fait [Link](0, "x") ?
✅ Réponse : insère "x" au début
✅ 56–65 : Dictionnaires
56. Syntaxe d’un dictionnaire vide ?
✅ Réponse : {}
57. {"a": 1} contient combien d’éléments ?
✅ Réponse : 1
58. Récupérer toutes les clés ?
✅ Réponse : .keys()
59. Récupérer les valeurs ?
✅ Réponse : .values()
60. Supprimer un élément ?
✅ Réponse : .pop() ou del
61. Tester si clé dans dico ?
✅ Réponse : in
62. Peut-on avoir des listes comme valeurs ?
✅ Réponse : Oui
63. d = {"x": 1}; d["x"] retourne ?
✅ Réponse : 1
64. Peut-on avoir deux clés identiques ?
✅ Réponse : Non
65. Peut-on imbriquer des dictionnaires ?
✅ Réponse : Oui
✅ 66–80 : Classes & Objets
66. Mot-clé pour créer une classe ?
✅ Réponse : class
67. Nom de la méthode constructeur ?
✅ Réponse : __init__
68. self fait référence à ?
✅ Réponse : l’objet courant
69. Peut-on créer plusieurs objets ?
✅ Réponse : Oui
70. Peut-on appeler une méthode via un objet ?
✅ Réponse : Oui
71. Syntaxe pour créer un objet ?
✅ Réponse : objet = Classe()
72. Peut-on avoir plusieurs méthodes dans une classe ?
✅ Réponse : Oui
[Link] Dr LALLALI
Dr LALLALI
73. Peut-on définir des attributs ?
✅ Réponse : Oui
74. Est-ce que __str__() est une méthode spéciale ?
✅ Réponse : Oui
75. Une classe peut-elle hériter d'une autre ?
✅ Réponse : Oui
76. Syntaxe d’héritage ?
✅ Réponse : class Enfant(Parent):
77. Peut-on appeler la méthode parent avec super() ?
✅ Réponse : Oui
78. Peut-on avoir des attributs privés ?
✅ Réponse : Oui (par convention avec _ ou __)
79. Est-ce que Python supporte la POO ?
✅ Réponse : Oui
80. Quel mot-clé permet de définir un attribut d'instance ?
✅ Réponse : [Link] = valeur
Partie : Conditions if – Analyse de Code
1. Que va afficher ce code ?
x = 5
if x > 10:
print("A")
else:
print("B")
✅ Réponse : B
2. Quelle est la sortie ?
a = 3
b = 3
if a == b:
print("Égal")
✅ Réponse : Égal
3. Quelle est la sortie ?
x = 0
if x:
print("Positif")
else:
print("Zéro")
✅ Réponse : Zéro
[Link] Dr LALLALI
Dr LALLALI
4. Quel message s'affiche ?
note = 14
if note >= 10:
if note >= 16:
print("Très bien")
else:
print("Bien")
else:
print("Échec")
✅ Réponse : Bien
5. Le code suivant affiche ?
x = -3
if x > 0:
print("Positif")
elif x == 0:
print("Zéro")
else:
print("Négatif")
✅ Réponse : Négatif
🔹 Partie : Boucles for – Analyse de Code
6. Que vaut s après exécution ?
s = 0
for i in range(5):
s += i
print(s)
✅ Réponse : 10
7. Quelle est la sortie ?
for i in range(1, 4):
print(i * "*")
✅ Réponse :
*
**
***
[Link] Dr LALLALI
Dr LALLALI
8. Combien de fois bonjour sera affiché ?
for i in range(3):
print("bonjour")
✅ Réponse : 3 fois
9. Quelle est la sortie ?
for i in range(5):
if i == 3:
break
print(i)
✅ Réponse :
0
1
2
10. Le code suivant produit :
for i in range(3):
for j in range(2):
print(i, j)
✅ Réponse :
0 0
0 1
1 0
1 1
2 0
2 1
🔹 Partie : Fonctions – Analyse de Code
11. Quelle est la sortie ?
def f(x):
return x * 2
print(f(3))
✅ Réponse : 6
12. Que retourne cette fonction ?
def f(a, b):
return a + b
print(f("a", "b"))
[Link] Dr LALLALI
Dr LALLALI
✅ Réponse : ab
13. Que fait ce code ?
def test():
pass
print(test())
✅ Réponse : None
14. Résultat de l’exécution ?
def g(x):
return x > 0
print(g(-1))
✅ Réponse : False
15. Quelle est la sortie ?
def mult(x, y=2):
return x * y
print(mult(3))
✅ Réponse : 6
Partie : Listes – Analyse de code
16. Quelle est la sortie ?
L = [1, 2, 3]
[Link](4)
print(L)
✅ Réponse : [1, 2, 3, 4]
17. Que vaut L[1] ?
L = [5, 10, 15]
print(L[1])
✅ Réponse : 10
[Link] Dr LALLALI
Dr LALLALI
18. Que contient la liste après suppression ?
L = [1, 2, 3, 4]
[Link](3)
print(L)
✅ Réponse : [1, 2, 4]
19. Que fait ce code ?
L = [0, 1, 2, 3]
L[1:3] = [7, 8]
print(L)
✅ Réponse : [0, 7, 8, 3]
20. Quelle est la sortie ?
L = [1, 2, 3]
L2 = L
[Link](4)
print(L2)
✅ Réponse : [1, 2, 3, 4] (les deux variables pointent vers la même liste)
🔷 Partie : Dictionnaires – Analyse de code
21. Quelle est la sortie ?
d = {"a": 1, "b": 2}
print(d["a"])
✅ Réponse : 1
22. Que fait ce code ?
d = {}
d["clé"] = 10
print(d)
✅ Réponse : {'clé': 10}
23. Résultat de l’instruction suivante ?
d = {"x": 1, "y": 2}
d["x"] = d["x"] + 5
print(d)
✅ Réponse : {'x': 6, 'y': 2}
[Link] Dr LALLALI
Dr LALLALI
24. Que retourne ce code ?
d = {"a": 1, "b": 2}
print("c" in d)
✅ Réponse : False
25. Quelle est la sortie ?
d = {"a": 1, "b": 2}
print([Link]("c", 0))
✅ Réponse : 0 (car "c" n'existe pas, valeur par défaut retournée)
🔷 Partie : Classes & Objets – Analyse de code
26. Quelle est la sortie ?
class Person:
def __init__(self, name):
[Link] = name
p = Person("Ali")
print([Link])
✅ Réponse : Ali
27. Que fait ce code ?
class Point:
def __init__(self, x):
self.x = x
def double(self):
return self.x * 2
p = Point(3)
print([Link]())
✅ Réponse : 6
28. Quelle est la sortie ?
class Test:
def __init__(self):
[Link] = 1
a = Test()
b = a
[Link] = 2
print([Link])
[Link] Dr LALLALI
Dr LALLALI
✅ Réponse : 2 (référencent le même objet)
29. Résultat de ce code ?
class Animal:
def __init__(self, nom):
[Link] = nom
def parler(self):
print(f"{[Link]} fait du bruit")
chat = Animal("Miaou")
[Link]()
✅ Réponse : Miaou fait du bruit
30. Que fait ce code ?
class A:
def __init__(self):
self.x = 10
def afficher(self):
return self.x + 5
a = A()
print([Link]())
✅ Réponse : 15
[Link] Dr LALLALI