if ( python )
Nel linguaggio Python l'istruzione IF vincola l'esecuzione di un blocco di codice al verificarsi o meno di una condizione di controllo. È un'istruzione di salto condizionato.
La sintassi
if condizione:
blocco di codice
Se la condizione è vera, l'istruzione IF esegue il blocco di istruzioni.
Viceversa, se la condizione è falsa, l'istruzione IF salta alla prima istruzione dopo la struttura condizionata.
La condizione di controllo può essere scritta tra parentesi o senza. È importante non dimenticarsi di terminarla con il carattere dei due punti : che indica la fine del test.
Il blocco di codice da eseguire è spostato più a destra rispetto all'istruzione IF perché il linguaggio Python usa l'indentatura significativa.
Nota. A differenza di altri linguaggi come il linguaggio C o Java, nell'istruzione if del linguaggio python non ci sono parentesi graffe, né parole chiave end-if.
Un esempio pratico
La prima istruzione chiede all'utente di digitare un numero da 1 a 10.
- voto=input("scrivi un numero da 1 a 10")
- voto=int(voto)
- if voto>5:
- print("promosso")
Se il numero è maggiore di 5, l'istruzione if ( riga 3 ) esegue l'istruzione condizionata ( riga 4 ) scrivendo sullo schermo il messaggio "promosso".
Else
La parola Else significa "altrimenti" e identifica un secondo blocco di codice facoltativo.
if condizione:
blocco 1
else:
blocco 2
Questo controllo non è associato a nessuna condizione, perché viene eseguito soltanto se è falsa la condizione di controllo iniziale della if.
Anche la parola else termina con i due punti.
Un esempio pratico
Se (if) la variabile voto è maggiore di 5, lo script stampa "promosso" sullo schermo.
- if voto>5:
- print("promosso")
- else:
- print("bocciato")
Altrimenti ( else ), se non è maggiore di 5, lo script stampa "bocciato".
Elif
La parola elif è una condizione aggiuntiva alla principale. È la contrazione di else if (altrimenti se)
E' verificata soltanto se la principale condizione è falsa.
if condizione:
blocco1
elif condizione2:
blocco2
elif condizione 3:
blocco3
Non c'è limite al numeri di condizioni aggiuntive elif che posso aggiungere nella struttura condizionale.
Un esempio pratico
Se la variabile voto è minore di 6, lo script stampa a video la stringa "bocciato".
- if voto<6:
- print("bocciato")
- elif voto==6:
- print("sufficiente")
- elif voto==7:
- print("discreto")
- elif voto>7:
- print("ottimo")
Se altrimenti ( riga 3 ) la variabile voto è uguale a 6, stampa il messaggio "sufficiente".
Se altrimenti ( riga 5 ) è uguale 7, stampa "discreto".
Se altrimenti ( riga 7 ) è maggiore di 7, stampa "ottimo".
Esempi
Esempio 1
Questo script converte i voti italiani da 18 a 30 nella tabella dei voti americani ( A, B, C, D, E, F )
- voto=input("scrivi un voto ")
- voto=int(voto)
- if ( 0 < voto < 18 ):
- print("F")
- elif ( 17 < voto < 23 ):
- print("D")
- elif ( 22 < voto < 27 ):
- print("C")
- elif ( 26 < voto <30 ):
- print("B")
- else:
- print("A")