Exercices de base - avec solutions
But
Se familiariser avec les bases de la gestion des exceptions avant de les appliquer à des énoncés plus complexes.
Énoncé
Pour chacun des exercices suivants, vous devez :
Tester différentes données/entrées possibles pour vos fonctions de façon à faire sortir les exceptions. Exemples :
On entre des valeurs de différents types que ce qui est demandé.
On entre des valeurs spécifiques qui risquent de compromettre un calcul.
On entre autre chose qu'une liste pour une opération sur les listes.
On entre une liste vide.
etc.
Lisez le message d'erreur attentivement pour le comprendre et vous familiariser avec.
Gérez les exceptions ou corrigez les erreurs selon les bonnes pratiques.
Exercice 1
Créez une fonction qui permet de calculer et retourner la division entre deux nombres entiers. Les deux nombres doivent êtres entrés par l'utilisateur dans votre programme principal.
Arrondissez maintenant le résultat de la division à l'aide de la fonction round
. Voir la description de round ici.
Exercice 2
Créez une fonction qui permute (échange les positions de) deux éléments d'une liste. La liste et les deux indices doivent être donnés à cette fonction.
Exercice 3
Soit l'exemple suivant :
def trier_liste(liste: list) -> None :
liste.sorted()
if __name__ == "__main__":
liste_nums = [6, 3, 5, 2, 4, 1]
trier_liste(liste_nums)
print(liste_nums)
Exécutez-le et lisez l'erreur.
Quel est le type d'exception? Qu'est-ce que cela signifie ?
Que faut-il faire dans ce cas, gérer l'exception ou corriger l'erreur?
Exercice 4
def multiplication(x, y):
return COEFICIENT * x * y
if __name__ == "__main__":
COEFFICIENT = 15
resultat = multiplication(x = 8, y = 2)
print(resultat)
Exécutez-le et lisez l'erreur.
Quel est le type d'exception? Qu'est-ce que cela signifie ?
Que faut-il faire dans ce cas, gérer l'exception ou corriger l'erreur?
Exercice 5
Soit le programme suivant, exécutez le et expliquez l'erreur sans la corriger (vous devez utiliser le débogueur pour comprendre l'erreur).
def calcul_moyenne_liste(liste:list[int]=[]) -> float:
moyenne = sum(liste) / len(liste)
return moyenne
if __name__ == "__main__":
valeurs_liste_str = input("Veuillez entrer les valeurs d'une liste séparées par des virgules : ")
liste_nombres = valeurs_liste_str.split(",")
moyenne = calcul_moyenne_liste(liste_nombres)
print(moyenne)
Voici la correction du programme précédent (vous n'avez pas besoin de comprendre la correction à la ligne 7 pour faire l'exercice) :
def calcul_moyenne_liste(liste:list[int]=[]) -> float:
moyenne = sum(liste) / len(liste)
return moyenne
if __name__ == "__main__":
valeurs_liste_str = input("Veuillez entrer les valeurs d'une liste séparées par des virgules : ")
liste_nombres = [int(e) for e in valeurs_liste_str.split(",")]
moyenne = calcul_moyenne_liste(liste_nombres)
print(moyenne)
Gérez les exceptions qui peuvent avoir lieu dans votre fonction.
Last updated