Le istruzioni condizionali in Pyhton
Lezione#04 Benvenuti alla quarta lezione del corso Python in 11 passi: le istruzioni condizionali e il costrutto if-elif-else.
Iniziamo col dire che le istruzioni condizionali in python sono strettamente legate al costrutto if-elif-else. Possiamo usare le istruzioni condizionali quando vogliamo eseguire un blocco di codice solo nel caso in cui una condizione sia vera o falsa. L’istruzione if è sempre seguita dai due punti (:) e da un blocco di codice indentato che viene eseguito solo se la condizione è vera:
# script.py
if True:
print("Siamo nell'IF!") # attenzione all'indentazione!
Siamo nell’IF!
Bene, questo è il primo semplice esempio di istruzione condizionale: la stringa Siamo nell’IF! viene stampata solo se la condizione precedente è vera.
Proviamo qualcosa per evidenziare l’importanza dell’indentazione.
# script.py
if False:
print("Siamo nell'IF!") # attenzione all'indentazione!
print("Non siamo nell'IF!") # istruzione non indentata
Non siamo nell’IF!
L’istruzione alla linea 4 del precedente script non viene considerata nell’if e pertanto ne vediamo il risultato in output. Vediamo un altro esempio.
# script.py
password = "threepwood"
if password == "threepwood":
print("Welcome to Monkey Island!")
Welcome to Monkey Island!
Possiamo anche usare i numeri, per esempio per immaginare come gestire il punteggio in un videogame o come stampare un messaggio.
# script.py
score = 1100
if score < 1000:
print("Need more points")
elif score == 1000: # elif coincide col più famoso else-if (altrimenti-se)
print("You Won")
else:
print("New Record!")
New Record!
# script.py
hour = 19
if hour < 12:
print("Good Morning!")
elif hour < 18
print("Good Afternoon!")
elif hour < 21: # possiamo usare quanti elif vogliamo
print("Good Evening!")
else:
print("Good Night!")
Good Evening!
In Python non esiste una istruzione per le scelte multiple analoga allo switch-case . Questa è una scelta che sposa alla perfezione la filosofia del python:
Tuttavia, è possibile ottenere lo switch-case usando i dizionari (che vedremo più avanti):
# script.py
def switch(codice):
d = {0: len, 1: min, 2: max} # scelta tra 0, 1 e 2
return d.get(codice, sum) #il secondo argomento è ciò che fa di default
lunghezza = switch(0)([6,8,10,46])
print(lunghezza)
minimo = switch(1)([6,8,10,46])
print(minimo)
maximo = switch(2)([6,8,10,46])
print(maximo)
print(switch(9)([6,8,10,46])) #di default esegue sum
4
6
46
70
Lezione precedente <– []–> Lezione successiva
