Adloun

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

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →