Ciao Gabriel.
La x assegnata nella definizione ha vita solo al suo interno, se vuoi globalizzare il suo valore, prima ti conviene chiamarla self.x ed usarla come tale. L'errore può anche essere che x non sia del tipo corretto, ad esempio x="stringa" e poi la tenti di azzerare come un integer. cioè x=0 quando invece si dovrebbe scrivere x=''
Adriano

----- Original Message ----- From: "Gabriel Battaglia (Kriyaban)" <iz4...@libero.it>
To: "Discussioni generali sul linguaggio Python" <python@lists.python.it>
Sent: Monday, April 15, 2013 10:18 AM
Subject: [Python] Caccia al bug, UnboundLocalError


Buongiorno, preparate i vostri gentili stomaci ad un'altra di quelle domande da super niubbo...

Sono alla caccia di un bug, per ora non posto il codice perchè la mia intenzione è più quella di raccogliere una informazione di carattere generale, più avanti nel topic, se sarà necessario, posterò il link di pastebin.

Dunque, in breve la situazione è questa: uno script di circa 300 righe, con varie funzioni. Le funzioni ricevono e restituiscono variabili e "vedono" variabili dichiarate, usate, a livelli ad esse superiori, come è normale
che sia.
Questo funziona tranne che per una variabile, a mio avviso usata come tutte le altre, che però produce questo errore:

UnboudLocalError: Local variable 'x1' referenced before assignment.

Quali sono le cause più probabili.. o l'unica causa possibile, che genera questo errore?

Se scrivo: x1=0, fuori dalla funzione, l'errore avviene comunque. Se lo scrivo dentro la funzione, l'errore scompare ma perdo anche l'utilizzo di x1 perchè viene inizializzata a 0 ogni volta che chiamo la funzione, mentre io ho bisogno che x1 registri il valore
minimo toccato da un'altra variabile.

Grazie per l'aiuto.

GB.

_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a