Pagina 1 di 1

I problemi di un povero super novello della programmazione..

MessaggioInviato: sab apr 02, 2011 11:41 am
da ogupower
rieccomi ragazzi,
sto andando avanti nella lettura della guida per principianti per python (http://www.python.it/doc/Easytut/easytut-it/index.html) e sto facendo gli esercizi del capitolo 5.3.

il terzo esercizio l'ho fatto in questo modo:
Codice: Seleziona tutto
nome1 = "ogupower"
nome2 = "john cleese"
nome3 = "michel palin"
nomeutente = raw_input ("inserisci un nome")
if nomeutente == nome1:
    print "questo è un bel nome"
elif nomeutente == nome2:
    print "questo fa schifo"
elif nomeutente == nome3:
    print "questo è vomitevole"
else:
    print "tu hai un bel nome"


il secondo l'ho fatto in questo modo:
Codice: Seleziona tutto
num1 = input ("inserisci il primo numero ")
num2 = input ("inserisci il secondo numero ")
somma = num1 + num2
if somma < 100:
    print "la somma dei due numeri è minore di 100"
else:
    print "numero troppo grande"


sono giusti secondo voi?

ora però il problema è che non riesco a risolvere il primo...
Codice: Seleziona tutto
password = "ciao"
while password =! "aiuto":
    password = raw_input ("inserisci la password corretta ")


facendo così faccio in modo che l'utente debba inserire la psw diverse volte fino a quando non mette quella giusta,ma come faccio a limitare i tentativi a tre soltanto?

Re: I problemi di un povero super novello della programmazio

MessaggioInviato: sab apr 02, 2011 7:44 pm
da Berga95
ogupower ha scritto:
ora però il problema è che non riesco a risolvere il primo...
Codice: Seleziona tutto
password = "ciao"
while password =! "aiuto":
    password = raw_input ("inserisci la password corretta ")


facendo così faccio in modo che l'utente debba inserire la psw diverse volte fino a quando non mette quella giusta,ma come faccio a limitare i tentativi a tre soltanto?


Puoi mettere all'inizio una variabile con valore 0 che aumenta di 1 ogni volta che sbagli, e se è 3 comunica il messaggio "È troppo complicato per voi" [;)]

Re: I problemi di un povero super novello della programmazio

MessaggioInviato: sab apr 02, 2011 7:57 pm
da Berga95
ogupower ha scritto:il secondo l'ho fatto in questo modo:
Codice: Seleziona tutto
num1 = input ("inserisci il primo numero ")
num2 = input ("inserisci il secondo numero ")
somma = num1 + num2
if somma < 100:
    print "la somma dei due numeri è minore di 100"
else:
    print "numero troppo grande"



Bisognerebbe anche pensare che succederebbe se l'utente inserisse una lettera, ma penso analizzerai questi aspetti più avanti [std]

Re: I problemi di un povero super novello della programmazio

MessaggioInviato: dom apr 03, 2011 12:01 am
da ogupower
grazie per le dritte!!!:)

Re: I problemi di un povero super novello della programmazio

MessaggioInviato: dom apr 03, 2011 1:43 pm
da Berga95
Di nulla [^]

All'una di notte potresti anche chiudere il PC [:D]

Re: I problemi di un povero super novello della programmazio

MessaggioInviato: dom apr 03, 2011 2:02 pm
da ogupower
Berga95 ha scritto:Di nulla [^]

All'una di notte potresti anche chiudere il PC [:D]


ahahah eh lo sò ma adesso mi sono gasato con questo benedetto python e vedendo che qualcosina riesco a capirci mi ci stò gasando!!!!1 [:D] [:D]

Re: I problemi di un povero super novello della programmazio

MessaggioInviato: lun apr 04, 2011 12:00 am
da ogupower
ragazzi ho perfezionato (dopo ore di prove e di imprecazioni) il programma che chiede la password per un numero massimo di 3 tentativi:
Codice: Seleziona tutto
tentativo=0
for x in range (4):
    tentativo = tentativo + 1
    print "sei al tentativo numero",tentativo,"dei tre disponibili"
    password = raw_input ("inserisci la psw ")
    if password == "ciao":
        print "Bravo la password è corretta, ma non hai vinto un tubo!"
        break
    elif tentativo >= 3:
        print "hai esaurito i tentativi,sei un somaro"
        break
    else:
        print "password sbagliata,ripova"


che ne dite?potrebbe andar bene?

Re: I problemi di un povero super novello della programmazio

MessaggioInviato: lun apr 04, 2011 6:11 pm
da Berga95
Puoi anche utilizzare qualcosa tipo
while(tentativo <= 3):
tentativo = tentativo + 1
...chiedi la pass
...se la pass è corretta
...print 'bravo!'
...se la pass è sbagliata
...riprova
#se sei uscito dal while() vuol dire che hai finito i tentativi
print 'Hai finito i tentativi'


[;)]
Ti ho descritto la possibile applicazione del while perché nel tuo tutorial il for è parecchi capitoli più avanti [boh]

Re: I problemi di un povero super novello della programmazio

MessaggioInviato: lun apr 04, 2011 8:13 pm
da ogupower
anche questa potrebbe essere una soluzione,comunque sono arrivato al for perché poi sono andato avanti a leggere (se ci fai caso c'è un intero capitolo dedicato al debugging)..

Re: I problemi di un povero super novello della programmazio

MessaggioInviato: lun apr 04, 2011 8:16 pm
da Berga95
Mannaggia ho usato quote e non code [acc2] [acc2] tutti i tab sono andati a farsi benedire [cry]
ogupower ha scritto:comunque sono arrivato al for perché poi sono andato avanti a leggere

[^]