Kowalski (Normal User)
Newbie
Messaggi: 3
Iscritto: 04/05/2010
|
Salve a tutti, ho trovato un semplice esercizio da fare cioè il programma mi chiede l'inserimento di una password, se è esatta mostra il messaggio 'Welcome in' altrimenti mi richiede di inserirne un'altra fino ad un massimo di 3 tentativi. Ora vi posto il codice, premetto che sono riuscito a farlo, voglio solo sapere un modo per scriverlo più chiaro perché il mio non lo vedo come un 'bel' codice.
Codice sorgente - presumibilmente Python |
print "Inserisci la password, hai 3 tentativi" passw=raw_input('Inserisci password: ') if passw=='ciao': print 'Welcome in' else: print 'Errata' passw=raw_input('Reinserisci password: ') if passw=='ciao': print 'Welcome in' else: print 'Errata' passw=raw_input('Reinserisci password: ') if passw=='ciao': print 'Welcome in' else: print 'Tentativi terminati'
|
C'è troppa ridondanza e vorrei evitarla.
Grazie in anticipo
|
|
GuglielmoS (Ex-Member)
Pro
Messaggi: 114
Iscritto: 27/11/2009
|
Ti conviene usare un ciclo, perchè se per esempio un giorno decidessi di mettere come limite di tentativi non più 3 ma 6, ti ritroveresti a dover scrivere altri if e codice doppio.
Una versione un pò più corretta che dovrebbe andare senza problema potrebbe per esempio essere questa:
Codice sorgente - presumibilmente Python |
print "Hai tre tentativi..." tentativi = 3 passwordEsatta = False passwordScelta = "Ciao" while tentativi > 0 and not passwordEsatta: passw=raw_input('Inserisci password: ') if passw == passwordScelta: passwordEsatta = True else: print "Password errata!!!" tentativi -= 1 if passwordEsatta: print "Welcome" else: print "Tentativi terminati"
|
|
|
Kowalski (Normal User)
Newbie
Messaggi: 3
Iscritto: 04/05/2010
|
E' infatti il mio problema era proprio il fatto di scrivere un codice così lungo e se vogliamo anche inutile...comunque grazie mille per la risposta
|
|