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