Python (école d'ingénieur) · Chapitre 4 · Exercice
Compteur global
Fonctions et modularité
Énoncé
Écrire une fonction compteur_global() qui incrémente une variable globale cpt à chaque appel et retourne sa nouvelle valeur. Écrire également une fonction initialiser_compteur(valeur=0) qui réinitialise le compteur.
Corrigé
Voici l'implémentation avec le mot-clé global :
# Variable globale
cpt = 0
def initialiser_compteur(valeur: int = 0) -> None:
"""Réinitialise le compteur global à la valeur spécifiée."""
global cpt
cpt = valeur
def compteur_global() -> int:
"""Incrémente le compteur global et retourne sa nouvelle valeur."""
global cpt
cpt += 1
return cpt
# Tests
print(compteur_global()) # 1
print(compteur_global()) # 2
print(compteur_global()) # 3
initialiser_compteur(10)
print(compteur_global()) # 11
print(compteur_global()) # 12
L'utilisation de variables globales modifiables est généralement déconseillée car elle rend le code difficile à déboguer et à tester. Pour un vrai compteur persistant, on préférerait une classe ou une clôture.
100 % gratuit
La suite du chapitre est sur Adloun
- 7 autres exercices corrigés dans ce chapitre, et 7 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.