Salut,

Envoyé par
eflrp
J'espère que vous pourrez m'éclairer !
Si vous écrivez:
On accède à une variable nb définie dans l'espace global pour lui ajouter 1 et on essaie d'assigner le résultat à une variable nb qui doit être "locale" car, c'est la portée, par défaut, d'une variable créée dans une fonction.
Et s'il y a une erreur, c'est juste que Python vous interdit de faire çà.
C'est juste ce que dit le message d'erreur:
UnboundLocalError: local variable 'nb' referenced before assignment
A vous de revoir le chapitre de votre tuto qui parle des fonctions et de portée des variables et apprendre à éviter ce genre de construction.
Vous pourriez écrire:
1 2 3 4 5 6 7 8 9 10
| def add_one(n):
return n + 1
def main():
nb = 0
print(nb)
nb = add_one(nb)
print(nb)
main() |
ce qui sera beaucoup plus "sain" et moins prise de tête lorsque vous vous lancerez dans l'écriture de code plus conséquents.
- W
Partager