51 Examen blanc
51.1 Mode d’emploi
- Préparez-vous : silence, chrono lancé, ne rien consulter.
- Répondez aux 35 questions.
- Ne revenez pas sur une question une fois passée (simulation).
- À la fin, consultez le chapitre Corrigés qui détaille chaque réponse.
- Calculez votre score : chaque bonne réponse = 1 point.
51.2 Questions 1-35
Q1
Que s’affiche-t-il ?
print(10 // 3, 10 % 3)3.33 03 13 03.0 1.0
Q2
Que renvoie "abc" * 3 ?
"abcabcabc""abc3"9- Une
TypeError
Q3
Quelle est la valeur de bool([]) ?
TrueFalseNone- Une erreur
Q4
Que renvoie "Python"[-2] ?
"o""n""h"- Une erreur
Q5
Que renvoie list(range(5, 0, -1)) ?
[5, 4, 3, 2, 1, 0][5, 4, 3, 2, 1][0, 1, 2, 3, 4][]
Q6
Combien d’éléments contient {1, 2, 2, 3, 3, 3} ?
369- Une erreur
Q7
Que s’affiche-t-il ?
d = {"a": 1, "b": 2}
d["c"] = 3
print(len(d))234- Une erreur
Q8
Que vaut x après ce code ?
x = 5
if x > 0:
x = x * 2
elif x < 0:
x = -x
else:
x = 05-5100
Q9
Que renvoie cette fonction ?
def f(n):
if n <= 1:
return n
return f(n - 1) + f(n - 2)
f(5)58313
Q10
Quelle méthode n’existe PAS sur une liste ?
.append().insert().add().remove()
Q11
Que s’affiche-t-il ?
L = [1, 2, 3]
print(L[::-1])[1, 2, 3][3, 2, 1][-1, -2, -3]- Une erreur
Q12
Quel opérateur teste l’identité d’objet ?
==isin=
Q13
Que s’affiche-t-il ?
def f(x, L=[]):
L.append(x)
return L
print(f(1))
print(f(2))[1]puis[2][1]puis[1, 2][1, 2]puis[1, 2]- Une erreur
Q14
Que produit sorted([3, 1, 2], reverse=True) ?
[1, 2, 3][3, 2, 1][3, 1, 2]- Une erreur
Q15
Que renvoie len({"a": 1, "b": 2, "c": 3}.keys()) ?
361- Une erreur
Q16
Que renvoie cette expression ?
", ".join(["a", "b", "c"])"a, b, c""a b c"["a", ",", " ", "b", ",", " ", "c"]- Une erreur
Q17
Que s’affiche-t-il ?
a = [1, 2, 3]
b = a.copy()
b.append(4)
print(a, b)[1, 2, 3] [1, 2, 3, 4][1, 2, 3, 4] [1, 2, 3, 4][1, 2, 3] [4]- Une erreur
Q18
Que renvoie list(filter(lambda x: x > 0, [-1, 2, -3, 4])) ?
[-1, 2, -3, 4][2, 4][-1, -3][1, 2, 3, 4]
Q19
Comment lire ligne par ligne un gros fichier efficacement ?
f.read().split("\n")f.readlines()for ligne in f:f.read(-1)
Q20
Que produit [x ** 2 for x in range(4) if x % 2 == 0] ?
[0, 4][0, 4, 16][0, 4, 8][4, 16]
Q21
Que renvoie f(1, 2, 3) avec ?
def f(*args):
return sum(args)(1, 2, 3)[1, 2, 3]6- Une erreur
Q22
Que renvoie ce code ?
def f(*args, **kwargs):
return len(args) + len(kwargs)
f(1, 2, a=3, b=4, c=5)2357
Q23
Que s’affiche-t-il ?
class A:
def __init__(self, x):
self.x = x
def __str__(self):
return f"A({self.x})"
print(A(5))<A object>A(5)5- Une erreur
Q24
Quelle classe hérite de A ?
class B(A):class B extends A:class B: Aclass B = A
Q25
Que renvoie le programme ?
try:
x = 10 / 0
except ZeroDivisionError:
x = -1
finally:
x += 100
print(x)1099-10
Q26
Que renvoie json.dumps({"a": 1}) ?
- Un
dict '{"a": 1}'(chaîne)- Un fichier
- Une erreur
Q27
Quelle complexité pour x in liste (liste Python classique) ?
- O(1)
- O(log n)
- O(n)
- O(n²)
Q28
Quelle structure a la recherche la plus rapide ?
listtuplesetstr
Q29
Que s’affiche-t-il ?
x = 5
match x:
case 1 | 2:
print("petit")
case 3 | 4 | 5:
print("moyen")
case _:
print("autre")petitmoyenautre- Une erreur
Q30
Que matche r"\d+" ?
- Un seul chiffre
- Un ou plusieurs chiffres
- N’importe quel caractère
- Zéro ou un chiffre
Q31
Que produit cette fonction à l’appel g() ?
def g():
for i in range(3):
yield i * 2
list(g())[0, 2, 4][0, 1, 2]<generator>None
Q32
Quel rôle a @functools.wraps ?
- Rend la fonction plus rapide
- Préserve les métadonnées de la fonction décorée (nom, doc)
- Empêche les modifications
- Active le cache
Q33
Que s’affiche-t-il ?
x = 10
def f():
x = 20
def g():
nonlocal x
x = 30
g()
return x
print(f(), x)30 1020 1030 3010 10
Q34
Que vaut p.suffix pour p = Path("rapport.txt") ?
rapport.txttxtrapport.txt
Q35
Quelle est la syntaxe moderne (Python 3.10+) pour dire « une liste d’entiers ou None » ?
List[int] | Nonelist[int] | NoneOptional[list[int]]- et c) sont équivalents ✅
51.3 Fin de l’examen blanc
Vérifiez votre temps : avez-vous terminé dans les 90 minutes ?
- < 60 min : vous êtes à l’aise. Vérifiez la qualité des réponses.
- 60-85 min : rythme correct.
- 85-90 min : serré. Travaillez la rapidité sur les questions basiques.
- > 90 min : vous dépassez le temps imparti. C’est un signal important à travailler.
51.4 📊 Auto-correction
Consultez le chapitre suivant pour les corrigés détaillés et votre score.
Calculer son score
Le TOSA utilise un algorithme d’item response theory complexe — on ne peut pas le reproduire exactement. Mais voici une approximation raisonnable basée sur les bonnes réponses :
| Bonnes réponses / 35 | Score approximatif | Niveau |
|---|---|---|
| 0-10 | 1-350 | Initial |
| 11-17 | 351-550 | Basique |
| 18-24 | 551-725 | Opérationnel |
| 25-30 | 726-875 | Avancé |
| 31-35 | 876-1000 | Expert |
L’algorithme réel du TOSA pondère les questions selon leur difficulté. Rater 5 questions faciles vous coûte plus que rater 5 questions difficiles. Cet examen blanc ne reproduit pas cette pondération.
Seuil pratique : viser au moins 20/35 pour la certification (550), et 25/35 pour un profil confortable.
51.5 Checklist après l’examen blanc
Avant de passer aux corrigés, notez :
- Quelles questions vous ont posé problème ?
- Lesquelles avez-vous répondues par intuition sans être sûr(e) ?
- Où avez-vous perdu du temps ?
- Quelles notions vous semblent les plus fragiles ?
Cette auto-analyse est aussi importante que le score lui-même. Elle guide la suite de vos révisions.
← Chapitre précédent : Test de positionnement • Chapitre suivant : Corrigés →