Instructions de base¶
Types de données en Python¶
Les structures, boucles, tests¶
Utiliser print(), range(), sorted()¶
Fonctions¶
Voir Python/Structurer son code
Gestion des erreurs¶
En Python, la gestion des erreurs permet d’éviter les plantages en interceptant les exceptions (comme une division par zéro ou une mauvaise saisie). Grâce aux blocs try, except, else et finally, on peut contrôler le comportement du programme en cas de problème.
Les exercices suivants vous aideront à :
Identifier les erreurs courantes
Utiliser les blocs
try/exceptGarantir l’exécution de certaines instructions avec
finally
Exercice : Division protégée¶
Solution to Exercise 1 #
def division(a, b):
try:
print(a / b)
except ZeroDivisionError:
print("Erreur : division par zéro interdite.")
# Tests
division(10, 2) # 5.0
division(5, 0) # ErreurExercice : Conversion sécurisée¶
Solution to Exercise 2 #
def saisir_entier():
try:
n = int(input("Entrez un entier : "))
print(f"Vous avez saisi : {n}")
except ValueError:
print("Erreur : ce n'est pas un entier valide.")Exemple d’utilisation
- Entrée : 42 → OK
- Entrée : abc → Erreur
- Entrée : 3.14 → ErreurExercice : Accès contrôlé à une liste¶
Solution to Exercise 3 #
def acces_liste():
liste = [10, 20, 30]
try:
index = int(input("Entrez un index : "))
print(f"Élément : {liste[index]}")
except IndexError:
print("Erreur : index hors limites.")
except ValueError:
print("Erreur : veuillez entrer un entier.")Exemple d’utilisation
- Entrée : 1 → Élément : 20
- Entrée : 5 → Erreur : index hors limites.
- Entrée : a → Erreur : veuillez entrer un entier.Exercice : Lecture de fichier¶
Solution to Exercise 4 #
def lire_fichier(nom_fichier):
try:
with open(nom_fichier, 'r') as f:
contenu = f.read()
print(contenu)
except FileNotFoundError:
print("Erreur : fichier introuvable.")Exemple d’utilisation
lire_fichier(“existant.txt”) → Affiche le contenu
lire_fichier(“inexistant.txt”) → Erreur
Exercice : Bloc finally¶
Solution to Exercise 5 #
def test_finally(x):
try:
print(10 / x)
except ZeroDivisionError:
print("Erreur : division par zéro.")
finally:
print("Fin de l'opération.")
# Tests
test_finally(2) # 5.0 puis Fin de l'opération
test_finally(0) # Erreur puis Fin de l'opérationLes entrées/sorties en Python¶
Les opérations d’entrée/sortie (E/S) permettent à un programme d’interagir avec l’utilisateur ou avec des fichiers. En Python, cela inclut :
L’entrée via la fonction
input()pour lire des données saisies par l’utilisateur.La sortie via la fonction
print()pour afficher des informations à l’écran.La lecture/écriture de fichiers pour stocker ou récupérer des données de manière persistante.
Ces mécanismes sont essentiels pour rendre un programme interactif et utile dans des contextes réels.
Exercice : Écrire puis lire un fichier texte¶
Solution to Exercise 6 #
def ecrire_et_lire_fichier(nom):
# Étape 1 : saisie utilisateur
texte = input("Entrez une phrase : ")
# Étape 2 : écriture dans le fichier
with open(nom, 'w') as f:
f.write(texte)
# Étape 3 : lecture du fichier
with open(nom, 'r') as f:
contenu = f.read()
print("Contenu du fichier :", contenu)
# Exemple d'utilisation
# ecrire_et_lire_fichier("mon_fichier.txt")Les flux standards en Python¶
En Python, les flux standards permettent la communication entre un programme et son environnement (souvent le terminal). Ils sont définis dans le module sys.
| Flux | Description Objet | Python associé |
|---|---|---|
| stdin | Entrée standard (ex. : clavier) | sys.stdin |
| stdout | Sortie standard (ex. : affichage) | sys.stdout |
| stderr | Sortie d’erreur standard | sys.stderr |
Entrée standard (stdin)¶
Utilisée pour lire des données, généralement saisies par l’utilisateur.
Méthodes : -
input(): lecture interactive (ligne par ligne) -sys.stdin.read()ousys.stdin.readline(): lecture brute (utile avec des redirections)
import sys
ligne = sys.stdin.readline()
print(f"Vous avez saisi : {ligne}")Sortie standard (stdout)¶
Utilisée pour afficher des résultats ou des messages.
Par défaut, print() écrit dans stdout.
On peut aussi utiliser sys.stdout.write() pour plus de contrôle.
import sys
sys.stdout.write("Ceci est une sortie standard.\n")Sortie d’erreur (stderr)¶
Utilisée pour afficher les messages d’erreur.
Permet de séparer les erreurs des résultats normaux (utile pour les scripts).
import sys
sys.stderr.write("Ceci est une erreur.\n")