Débutant
🧠 Fondamentaux
10 XP
0 personnes ont réussi
Attraper une exception
Quand quelque chose tourne mal en Python, une exception est levee. Si personne ne l'attrape, le programme plante avec un message d'erreur. Pour eviter ca, on utilise try/except.
Le code dans try est exécute normalement. Si une erreur survient, Python saute directement dans le bloc except correspondant. Le reste du try est ignore.
Écris une fonction division_sure(a, b) qui divise a par b. Si b vaut 0 (ZeroDivisionError), renvoie 0. Si a ou b n'est pas un nombre (TypeError), renvoie None.
Exemple : division_sure(10, 3) renvoie environ 3.333 division_sure(10, 0) renvoie 0 division_sure('a', 2) renvoie None
Tests (3/4)
Division normale
assert abs(division_sure(10, 3) - 3.3333) < 0.01
Division par zero
assert division_sure(10, 0) == 0
Type invalide
assert division_sure('a', 2) is None
+ 0 tests cachés
Indices (3 disponibles)
Solution officielle
def division_sure(a, b):
try:
return a / b
except ZeroDivisionError:
return 0
except TypeError:
return None