Diagnostiquer trois erreurs
Exercice · informatique (tronc commun des prépas scientifiques), chapitre 1 — La discipline de programmation
Énoncé
Déterminer la nature des erreurs (syntaxe, exécution ou logique) dans les fragments suivants et les corriger :
# (a)
def double(x)
return 2 * x
# (b)
t = [1, 2, 3]
print(t[3])
# (c)
def carre(n):
return n * 2Corrigé
- (a) Erreur de syntaxe (
SyntaxError) : Il manque le symbole:à la fin de la déclaration de la fonction. Correction :def double(x):. - (b) Erreur d'exécution (
IndexError) : La listetest de taille 3, ses indices valides sont donc 0, 1 et 2. L'accès àt[3]provoque un plantage. Correction :print(t[2])(pour le dernier élément). - (c) Erreur de logique : La fonction s'exécute sans erreur mais renvoie le double () au lieu du carré (). Seul un test d'assertion peut révéler cette anomalie. Correction :
return n * noureturn n ** 2.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.