GPULoad (Normal User)
Newbie
Messaggi: 14
Iscritto: 28/07/2011
|
Ciao a tutti, ho voluto fare una schermata di login perchè non sapevo cosa fare, allora mi sono messo lì e in 10 minuti ho fatto questo:
Codice sorgente - presumibilmente Python |
def erase(): for x in range (100): print def registrazione(): nome=raw_input("Inserisci un nome utente: ") password=raw_input("Inserisci una password: ") print "Nome utente: %s"%(nome) print "Password: %s"%(password) print raw_input("REGISTRAZIONE COMPLETATA\n\nPremi ENTER per continuare...") erase() def login(): nome1=raw_input("Inserisci il nome utente: ") password1=raw_input("Inserisci la password: ") [b]if nome1==nome and password1==password:[/b] print "Accesso consentito." print "===============|||LOGIN BY GPULOAD|||===============" print "------------------------------------------------------------" print print print registrazione() login()
|
Solamente è che io vorrei dire che quando l'utente che si è registrato, mette i dati corretti, gli spunti "Accesso consentito", ma non so come fare, la parte in grassetto è dove c'è l'errore. So di aver sbagliato, ma non so come scrivere e quindi ho messo a caso, "se bla è uguale a bla e bla1 è uguale a bla1 scrivi questo", mi sembrava logico.
Ultima modifica effettuata da GPULoad il 08/08/2011 alle 18:05 |
|
Nullable (Normal User)
Expert
Messaggi: 217
Iscritto: 12/07/2011
|
Tu tenti di fare la verifica tra le variabili nome1 e password1 che si trovano nella funzione login con la variabili nome e password che si trovano nella funzione registrazione. Una delle basi della programmazione in qualsiasi linguaggio riguarda la dichiarazione delle variabili. Non puoi effettuare operazioni tra variabili che si trovano in 2 funzioni diverse ( come in questo caso ) perchè ogni funzione ha un blocco di codice definito che non va ad influenzare gli altri. Dichiara le variabili nome e passwordcome global ^^
Ultima modifica effettuata da Nullable il 08/08/2011 alle 18:25 |
|
GPULoad (Normal User)
Newbie
Messaggi: 14
Iscritto: 28/07/2011
|
Postato originariamente da Nullable:
Tu tenti di fare la verifica tra le variabili nome1 e password1 che si trovano nella funzione login con la variabili nome e password che si trovano nella funzione registrazione. Una delle basi della programmazione in qualsiasi linguaggio riguarda la dichiarazione delle variabili. Non puoi effettuare operazioni tra variabili che si trovano in 2 funzioni diverse ( come in questo caso ) perchè ogni funzione ha un blocco di codice definito che non va ad influenzare gli altri. Dichiara le variabili nome e passwordcome global ^^ |
Grazie, ho risolto.
Adesso ho aggiunto altre cose, però adesso, c'è un'altro errore: ***'break' outside loop (è l'unico break del codice):
Codice sorgente - presumibilmente Python |
def erase(): for x in range (100): print def registrazione(): global nome, password nome=raw_input("Inserisci un nome utente: ") password=raw_input("Inserisci una password: ") print "Nome utente: %s"%(nome) print "Password: %s"%(password) print raw_input("REGISTRAZIONE COMPLETATA\n\nPremi ENTER per continuare...") erase() tentativi=0 def login(): nome1=raw_input("Inserisci il nome utente: ") password1=raw_input("Inserisci la password: ") if nome1==nome and password1==password: print "Accesso consentito." elif nome1!=nome and password1==password or nome1==nome and password1!=password or nome1=="" and password1=="": tentativi=tentativi+1 raw_input("Accesso negato.\n\nPremi INVIO per riprovare...\n") if tentativi==3: print "Troppi tentativi." break ricomincia() def ricomincia(): login() print "===============|||LOGIN BY GPULOAD|||===============" print "------------------------------------------------------------" print print print registrazione() login()
|
Ultima modifica effettuata da GPULoad il 08/08/2011 alle 19:01 |
|
Nullable (Normal User)
Expert
Messaggi: 217
Iscritto: 12/07/2011
|
Togli il break, non serve. Il break si utilizza solo quando in un'iterazione tu vuoi fermarla solo se accade una determinata situazione ma in quel caso non c'è nessuna iterazione quindi il break non ha senso.
|
|
GPULoad (Normal User)
Newbie
Messaggi: 14
Iscritto: 28/07/2011
|
Postato originariamente da Nullable:
Togli il break, non serve. Il break si utilizza solo quando in un'iterazione tu vuoi fermarla solo se accade una determinata situazione ma in quel caso non c'è nessuna iterazione quindi il break non ha senso. |
Ma se lo levo dopo "Troppi tentativi" mi ricomincia da capo. |
|
Nullable (Normal User)
Expert
Messaggi: 217
Iscritto: 12/07/2011
|
Metti un for al posto della if.
|
|
GPULoad (Normal User)
Newbie
Messaggi: 14
Iscritto: 28/07/2011
|
Postato originariamente da Nullable:
Metti un for al posto della if. |
Non posso mettere un for al posto di if, è una cosa diversa, mi da errore di sintassi. Scusa se ho detto una cavolata, ma ho iniziato da poco con Python. Ultima modifica effettuata da GPULoad il 09/08/2011 alle 12:20 |
|
Nullable (Normal User)
Expert
Messaggi: 217
Iscritto: 12/07/2011
|
|
|
GPULoad (Normal User)
Newbie
Messaggi: 14
Iscritto: 28/07/2011
|
Grazie, ho risolto e questa volta definitivamente |
|