Ho trovato la risposta piuttosto facilmente:
https://www.programiz.com/python-programming/global-local-nonlocal-variables
Quando provo ad assegnare un valore alla variabile, la tratta come locale!
E quindi va in paranoia perché non è stata dichiarata prima.
Diciamo che avrei preferito restituisse
Il giovedì 20 agosto 2020, 10:15:09 CEST, Valerio Pachera
ha scritto:
>>> def f():
... print(n)
...
non ho ancora dichiarato n.La dichiaro esternamente alla funzione, quindi
(correggetemi se sbaglio) n sarà una variabile globale.
>>> n = 10
>>> f()
10
A conferma di quanto scritt
>>> def f():
... print(n)
...
non ho ancora dichiarato n.
La dichiaro esternamente alla funzione, quindi (correggetemi se sbaglio) n
sarà una variabile globale.
>>> n = 10
>>> f()
10
A conferma di quanto scritto sopra, n viene stampata.
Ora faccio la stessa cosa ma faccio incrementare di 1 l