Forum >> Programmazione Python >> Scripting >> Salve a tutti, ho una domanda da fare

Pagina: Indietro 1 2

Traceback (most recent call last):

File "C:\Users\Asus\Desktop\Programmazione\Python\another key logger.py", line 47, in <module>

start()

File "C:\Users\Asus\Desktop\Programmazione\Python\another key logger.py", line 3, in start

user_set()

File "C:\Users\Asus\Desktop\Programmazione\Python\another key logger.py", line 8, in user_set

pass_set()

File "C:\Users\Asus\Desktop\Programmazione\Python\another key logger.py", line 13, in pass_set

type_User()

File "C:\Users\Asus\Desktop\Programmazione\Python\another key logger.py", line 18, in type_User

if user == User:

NameError: global name 'User' is not defined

riesco a fare solo quando dice di impostare un Username e una password poi dopo quando chiede l'username esce l'errore
La traceback (traccia all'indietro) indica le "most recent call last" (ultime chiamate più recenti). Partendo dall'alto si legge che nel corpo principale del programma viene chiamata la funzione start. Nella funzione start viene chiamata la funzione user_set e così via fino alla funzione pass_set che chiama la funzione type-user (e quindi possiamo assumere che fino a quel punto è andato tutto bene).

Le ultime indicazioni riguardano l'errore vero e proprio: nella funzione type_user si cerca di eseguire la riga
if user == User:
ma qualcosa va storto. Che cosa? Viene spiegato all'ultimissima riga:
NameError: global name 'User' is not defined
Non trova nessuna variabile User, infatti in nessuna delle funzioni precedenti viene mai assegnato nulla ad User, la variabile User non viene mai creata e quindi non può essere confrontata. E la dichiarazione global User? Indica solo che nella funzione quell'eventuale nome va considerato come appartenente al blocco principale del programma (avente visibilità globale), ma in ogni caso in nessun punto del codice c'è un assegnamento ad User.
*** Il codice va evidenziato con il simbolo di fianco ai colori per non perdere l'indentazione ***


Pagina: Indietro 1 2



Esegui il login per scrivere una risposta.