Topic: if, elif, else  (Letto 1099 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline alfreale

  • python unicellularis
  • *
  • Post: 24
  • Punti reputazione: 0
    • Mostra profilo
if, elif, else
« il: Agosto 02, 2007, 19:22 »
if (NOME == MARCO) and (COGNOME == ROSSI) and (ETA > 30):
print "OK PUOI PASSARE"
elif (NOME == MARCO) and (COGNOME == ROSSI) and (ETA < 30):
print "RIPASSA TRA QUALCHE ANNO"
elif (NOME != MARCO) and (COGNOME != ROSSI):
print "NON PUOI PASSARE"
else:
print "NON PUOI PASSARE"

ho due domande da farvi:

1 - è corretto scrivere il codice in questo modo?..o si potrebbe abbreviare

2 - la terza riga [elif (NOME == MARCO) and (COGNOME == ROSSI) and (ETA < 30):], è possibile scriverla:
elif (ETA < 30) o mi darebbe un risultato diverso??

ciao,

Alfredo

Offline earth

  • python neanderthalensis
  • *
  • moderatore
  • Post: 256
  • Punti reputazione: 0
    • Mostra profilo
Re: if, elif, else
« Risposta #1 il: Agosto 02, 2007, 19:51 »
1 - è corretto scrivere il codice in questo modo?..o si potrebbe abbreviare

if nome=='Walter' and cognome=='Gargano':
    if e > 30:
        print "OK"
    else:
        print "PASSA TRA QUALCHE ANNO"
else:
    print "NON PUOI PASSARE"

Così controlli una sola volta che la coppia Nome/Cognome sia quella che cerchi.
L'età la controlli soltanto se il nome è giusto, sennò non ti interessa.

2 - la terza riga [elif (NOME == MARCO) and (COGNOME == ROSSI) and (ETA < 30):], è possibile scriverla:
elif (ETA < 30) o mi darebbe un risultato diverso??

Non avrebbe il significato che ti aspetti.

Perchè per tutte le persone con età < 30 faresti stampare "NON PUOI PASSARE", mentre a te interessa distinguere quelli che possono passare (e dirgli se ripassare tra qualche anno...) con quelli che non possono.

Ciao ;)