Exercices Les Bases Python Variables locales et globales
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Variables locales et globales

En Python, une variable créée dans une fonction n'existe que dans cette fonction. On dit qu'elle est locale. En dehors de la fonction, elle n'existe pas.

A l'inverse, une variable définie en dehors de toute fonction est globale : elle est accessible partout en lecture. Mais si tu veux la modifier dans une fonction, il faut utiliser le mot-clé global.

Par exemple :

compteur = 0

def incrementer():
global compteur
compteur = compteur + 1

Sans le mot global, Python créerait une nouvelle variable locale compteur et la variable globale resterait inchangée.

Écris une fonction créer_compteur() qui renvoie un dictionnaire avec deux fonctions : 'incrementer' et 'valeur'. La fonction incrementer augmente le compteur de 1, et valeur renvoie la valeur actuelle. Utilise une liste d'un élément pour stocker le compteur (astuce pour contourner le scope sans global).

Exemple :
c = créer_compteur()
c['valeur']() renvoie 0
c['incrementer']()
c['valeur']() renvoie 1

Tests (3/4)

Valeur initiale
c = créer_compteur()
assert c['valeur']() == 0
Apres increment
c = créer_compteur()
c['incrementer']()
assert c['valeur']() == 1
Plusieurs increments
c = créer_compteur()
c['incrementer']()
c['incrementer']()
c['incrementer']()
assert c['valeur']() == 3

+ 0 tests cachés

Indices (3 disponibles)

solution.py