Forum >> Principianti >> Come creare un programmino che mi consenta di indovinare una password entro 3 possibilità?

Pagina: 1

Buongiorno,




ho creato un programmino che deve indovinare una password entro 3 tentativi.




Il problema è che qualora io riesca ad indovinare la parola chiave, deve stamparmi il messaggio: messaggio consentito, ma non so dove metterlo per dar senso al programma.

Il programma da me fatto è questo:

password= " "
tentativo=0
while password!="Paolo":
    tentativo=tentativo+1
    print("Tentativo numero: ", tentativo)
    password=input("inserisci password")
    if tentativo==3:
        print("Accesso negato!")
    break


Mi piacerebbe sapere: in quale parte del codice inserire print("Buongiorno, accesso consentito!"), e allo stesso tempo.. Mi piacerebbe sapere in che modo potrei realizzare lo stesso codice senza l'inserimento dell'istruzione break.
È proprio la struttura del codice ad essere complessa. Solitamente si spezzano le competenze in diverse funzioni e risulta tutto più semplice:
#-----------------------------------------------

def elabora_il_resto():
    print("...tutto quello che c'e` da fare...")

#-----------------------------------------------

def password_ok():
    for tentativo in range(3):
        print("Tentativo numero: ", tentativo+1)
        password = input("inserisci password")
        if password == "Paolo":
            return True
    return False

#-----------------------------------------------

def main():
    if password_ok():
        print("Accesso consentito")
        elabora_il_resto()
    else:
        print("Accesso negato!")

#-----------------------------------------------

main()
Per quanto riguarda il break nel while, in Python si è spesso obbligati ad usarlo, perché questo linguaggio non dispone del ciclo do/while (presente in altri ilnguaggi) che controlla la condizione alla fine del ciclo invece che all'inizio. Se fosse stato presente, allora si sarebbe potuta scrivere una cosa del genere:
do:
    password = input("inserisci password")
while password != "Paolo"

*** Il codice va evidenziato con il simbolo di fianco ai colori per non perdere l'indentazione ***


Pagina: 1



Esegui il login per scrivere una risposta.