← جميع الاختبارات العامة
ابدأ الاختبار (كضيف أو بحساب)
Python — Contrôle de flux & fonctions
بواسطة Jude · 23/05/2026 · 108 مشاهدات · مشاركة
If/else, boucles, portée, paramètres par défaut, *args/**kwargs, fermetures, expressions ternaires. 20 questions.
20
الأسئلة
🇫🇷 Français
اللغة
متوسط
الصعوبة
أسئلة الاختبار
-
1. Quel est le piège dans cette définition ?
def add_item(item, bag=[]): bag.append(item) return bag print(add_item(1)) print(add_item(2))- Rien, elle affiche [1] puis [2]
- Argument mutable par défaut : [1] puis [1, 2]
- Erreur de syntaxe
- Erreur d'exécution au deuxième appel
-
2. Que produit ce code ?
for i in range(3): if i == 1: continue print(i, end=' ')- 0 1 2
- 0 2
- 1 2
- 0 1
-
3. Que signifie
*argsdans une signature de fonction ?- Un seul argument obligatoire
- Un nombre variable d'arguments positionnels regroupés en tuple
- Un dictionnaire d'arguments nommés
- Une syntaxe interdite
-
4. Quel sera l'affichage ?
x = 10 def f(): x = 20 print(x, end=' ') f() print(x)- 10 10
- 20 10
- 20 20
- 10 20
-
5. Quelle clause
elseest vraie ?- Le
elsed'unfors'exécute si la boucle finit sansbreak - Le
elsed'untrys'exécute si une exception est levée whilene peut pas avoir deelse- Le
elsed'unforne s'exécute jamais
- Le
-
6. Que renvoie
(lambda x, y=10: x + y)(5)?- 5
- 10
- 15
- TypeError
-
7. Quel mot-clé permet de modifier une variable du module dans une fonction ?
- nonlocal
- global
- static
- extern
-
8. Quelle est la valeur de
r?def f(*args, **kwargs): return len(args), len(kwargs) r = f(1, 2, 3, a=1, b=2) print(r)- (3, 2)
- (5, 0)
- (2, 3)
- (0, 5)
-
9. Quelle expression est équivalente à ce bloc ?
if x > 0: sign = 1 else: sign = -1sign = 1 if x > 0 else -1sign = (x > 0) ? 1 : -1sign = 1 when x > 0 else -1sign = if x > 0 1 else -1
-
10. Que fait l'astérisque dans
def f(a, b, *, c)?- Rend
cfacultatif - Force
cà être passé comme argument nommé - Capture les positionnels supplémentaires
- Erreur de syntaxe
- Rend
-
11. Que produit ce code ?
fns = [lambda: i for i in range(3)] print([f() for f in fns])- [0, 1, 2]
- [2, 2, 2]
- [3, 3, 3]
- Erreur
-
12. Que vaut
r?def power(base, exp=2, /, *, modulo=None): r = base ** exp return r if modulo is None else r % modulo r = power(3, 5, modulo=7) print(r)- 5
- 243
- 5 (243 mod 7)
- TypeError
-
13. Quelle est la portée résolue par LEGB ?
- Local, Enclosing, Global, Built-in
- Library, Extension, Global, Builtin
- Logical, Encapsulated, Generic, Boxed
- Aucun, Python n'a pas de portée
-
14. Que fait ce code ?
def f(): try: return 1 finally: print("clean") print(f())- Affiche 1 seulement
- Affiche "clean" puis 1
- Affiche "clean" et n'imprime jamais 1
- Erreur
-
15. Quel est le résultat de ce
match(Python 3.10+) ?def describe(pt): match pt: case (0, 0): return "origin" case (x, 0): return f"x={x}" case (0, y): return f"y={y}" case (x, y): return f"({x},{y})" print(describe((0, 4)))- origin
- x=0
- y=4
- (0,4)
-
16. Que produit ce code ?
def outer(): x = 1 def inner(): nonlocal x x += 1 return x return inner i = outer() print(i(), i())- 2 2
- 2 3
- 1 2
- Erreur
-
17. Quel est le résultat de ce code ?
for i in range(5): if i == 3: break else: print("done") print(i)- done puis 3
- 3 seulement
- done puis 4
- Erreur
-
18. Quel est le retour de
print?- La chaîne imprimée
- Le nombre de caractères
None0
-
19. Que produit ce code ?
def f(a, b, /): return a - b print(f(b=2, a=5))- 3
- -3
- TypeError
- None
-
20. Quelle est la sortie ?
def f(): yield from range(2) yield 99 print(list(f()))- [0, 1, 99]
- [range(0, 2), 99]
- [99]
- Erreur