Learn to fix bug
Reprenons le premier exercice sur les nombres complexes du TP1.
Vos encadrants vous donnent le corrigé mais un certain nombre de bugs se sont glissés dans le code... c'est à vous de les corriger !
A chaque étape, un nouveau bug apparaît avec le traceback ("suivi d'erreur") detaillé qui retrace l'erreur.
Corrige l'erreur et appuie sur "Valider cette étape" pour passer a l'étape suivante. Si l'erreur persiste, il suffit de réessayer...
Une fois les consignes lues, clique sur "Valider cette étape" et commence le débogage...
Exemple de lecture d'une traceback
1 def carre(x): 2 return x ** y 3 print(carre(4))
Traceback (most recent call last):
File "TP1.py", line 3, in <module>
print(carre(4))
File "TP1.py", line 2, in carre
return x ** y
NameError: name 'y' is not defined Le programme essaie d'exécuter la ligne 3, qui appelle la fonction carre. Ensuite en ligne 2, dans la fonction carre, il trouve une erreur (la variable y n'existe pas).
La traceback s'affiche du plus ancien appel vers le plus recent, mais pour trouver la vraie cause du problème il faut généralement commencer par la fin. La toute dernière ligne du traceback donne le type d'erreur et son message.