Le istruzioni condizionali in Pyhton

Scritto da ambrix on . Postato in Corsi Programmazione, NotInHome

logo python ambrix.net

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.

Si noti come l’istruzione print() è indentata: questo aspetto è molto importante in python.

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:

Ci dovrebbe essere un modo ovvio – e preferibilmente uno solo – di fare le cose.Tim Peters (The Zen of 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

Per Richieste, Avvisi e Lasciti Ereditari

Disclaimer

I contenuti di questo Blog (testi, immagini, foto, etc.) sono di mia creazione, tranne nei casi dove espressamente indicato.