TP - Identifier les erreurs « classiques »☘
Dans le dossier [NSI]
, créez le dossier [F03-Finaliser_Programmes]
.
Dans ce dossier, enregistrez vos fichiers avec le nom donné à la partie
(TPF03.11.py
, TPF03.12.py
, ...). Il faudra créer un nouveau programme
pour chaque partie.
Dans ces travaux pratiques, votre travail consiste à :
- reconnaître les erreurs les plus classiques ;
- comprendre ce qu'elles signifient ;
- les corriger.
TPF03.11 - Sans faire d'appel☘
-
Copiez, collez le code ci-dessous dans un éditeur :
1 2 3 4 5 6 7 8 9
def erreur1(a, b): """ a, b – int ou float Sortie: int ou float – a-b si a-b est positif, b-a sinon """ if a > b: return a-b else: return b-a
-
Exécutez ce code. Que signifie l'erreur signalée ?
Notez votre interprétation sur le cahier puis appelez l'enseignant pour vérifier. - Corrigez ce code puis testez-le.
TPF03.12 - Un appel est nécessaire☘
-
Copiez, collez le code ci-dessous dans un éditeur :
1 2 3 4 5 6 7 8
def erreur2(texte): """ texte – str Sortie: str – Le texte dans lequel les caractères sont écrits dans l'autre sens """ for carac in texte: reponse = carac + reponse return reponse
-
Exécutez ce code. Une erreur est-elle signalée ?
-
Effectuez l'appel :
Que signifie l'erreur signalée ?>>> erreur2('exemple')
Notez votre interprétation sur le cahier puis appelez l'enseignant pour vérifier. -
Corrigez ce code puis testez-le à nouveau.
TPF03.13 - Un appel reste nécessaire☘
-
Copiez, collez le code ci-dessous dans un éditeur :
1 2 3 4 5 6 7 8 9
def erreur3(texte): """ texte – str Sortie: str – Le texte dans lequel on ne conserve qu'une lettre sur deux """ reponse = "" for i in range(0, len(texte), 2): repronse = reponse + texte(i) return reponse
-
Exécutez ce code. Une erreur est-elle signalée ?
-
Effectuez un appel à la fonction
erreur3()
avec la valeur de votre choix.
Attention, respectez bien les spécifications : le paramètre d'appel DOIT être une chaîne de caractères.
Que signifie l'erreur signalée ?
Notez votre interprétation sur le cahier puis appelez l'enseignant pour vérifier. -
Corrigez ce code puis testez-le à nouveau.
TPF03.14 - Un appel est toujours nécessaire☘
-
Copiez, collez le code ci-dessous dans un éditeur :
1 2 3 4 5 6 7 8 9 10
def erreur4(texte): """ texte – str Sortie: str – Le texte dans lequel le premier et le dernier caractère sont échangés """ reponse = texte[len(texte-1)] for i in range(1, len(texte-1)): reponse = reponse + texte[i] reponse = reponse + texte[0] return reponse
-
Exécutez ce code. Une erreur est-elle signalée ?
-
Effectuez un appel à la fonction
erreur4()
avec la valeur de votre choix.
Attention, respectez bien les spécifications : le paramètre d'appel DOIT être une chaîne de caractères.
Que signifie l'erreur signalée ?
Notez votre interprétation sur le cahier puis appelez l'enseignant pour vérifier. -
Corrigez ce code puis testez-le à nouveau.
TPF03.15 - Plusieurs appels sont nécessaires☘
-
Copiez, collez le code ci-dessous dans un éditeur :
1 2 3 4 5 6 7 8 9 10 11
def erreur5(texte): """ texte – str Sortie: str – Les caractères de texte ayant pour indice 1, 2, 4, 8, 16, etc... """ reponse = '' indice = 1 while indice <= len(texte): reponse = reponse + texte[indice] indice = indice*2 return reponse
-
Exécutez ce code. Une erreur est-elle signalée ?
-
Effectuez plusieurs appels différents à la fonction
erreur5()
jusqu'à l'apparition d'une erreur.
Que signifie l'erreur signalée ?
Notez votre interprétation sur le cahier puis appelez l'enseignant pour vérifier. -
Corrigez ce code puis testez-le à nouveau.
TPF03.16 - Un peu de maths dans tout ça☘
-
Copiez, collez le code ci-dessous dans un éditeur :
1 2 3 4 5 6 7 8 9 10
def erreur6(a, b): """ a, b – int, entiers strictement positifs Sortie: int – pgcd des entiers a et b """ while b >= 0: reste = a%b a = b b = reste return b
-
Exécutez ce code puis effectuez des appels à la fonction
erreur6()
jusqu'à l'apparition d'une erreur. -
Corrigez ce code puis testez-le à nouveau.