Accademia:Strutture di controllo

If

Il più conosciuto tra le strutture di controllo è sicuramente l'if. Questo comando permette di effettuare delle scelte all'interno del codice, a seconda che delle condizioni da noi imposte si verifichino o meno. Per esempio:

if [condition1]:
    do_something
elif [condition2]:
    do_something_different
else:
    do_something_else

Se la prima condizione è vera (restituisce True) allora entra nel blocco sottostante; elif è l'abbreviazione di else if ovvero 'altrimenti se', e serve a verificare la validità di un'altra condizione quando la prima è già risultata falsa. Infine, quando nessuna delle precedenti è vera, si possono indicare tutti i valori rimante con il blocco else (in Italiano 'altrimenti').

a, b = 2, 3 # a = 2 b = 3
if  a < b:
    print(" Il valore di 'a' e' minore di quello in 'b' !")
elif a > b:
    print(" Il valore di 'b' e' minore di quello in 'a' !")
else:
    print(" Le due variabili sono uguali !")

Attenzione al fatto che elif è diverso da if! Ad esempio:

Codice

 x = 19
if x > 18:
    print('sei maggiorenne')
elif x > 10:
    print('sei un teenager')
else:
    print('sei un bambino')
 x = 19
if x > 18:
    print('sei maggiorenne')
if x > 10:
    print('sei un teenager')
else:
    print('sei un bambino')
Output
sei maggiorenne
sei maggiorenne
sei un teenager

While

Il ciclo while ripete un blocco di codice finché l'espressione nella condizione iniziale é vera. Si puó uscire con il comando break, o terminerá automaticamente quando l'espressione sará falsa; Il break diventa obbligatorio quando si usano espressioni sempre vere (es: while True: )

while [condition1]:
    do_something
    if [condition2]:
        break
>>> inizio, fine = 0, 5
>>> while inizio < fine:
	print(" Esecuzione del ciclo numero ", inizio)
	inizio += 1

Esecuzione del ciclo numero 0
Esecuzione del ciclo numero 1
Esecuzione del ciclo numero 2
Esecuzione del ciclo numero 3
Esecuzione del ciclo numero 4
while True:
   x = input(" Inserisci quello che vuoi per continuare, o 'exit' per uscire : ")
   if x == 'exit':
      break
  • Vedi anche questo [post].

Gli Scritp della lezione 4:

For

Il ciclo for è leggermente più complesso; questi andrà ad iterare sopra una sequenza, come ad esempio una lista.

>>> costruzioni = ['casa', 'villa', 'appartamento', 'monolocale']
>>> for i in costruzioni:
...     print("Ora sono sull'oggetto:", i)
... 
Ora sono sull'oggetto: casa
Ora sono sull'oggetto: villa
Ora sono sull'oggetto: appartamento
Ora sono sull'oggetto: monolocale

In pratica la nostra variabile i ad ogni ciclo prenderà il valore di un elemento della lista passata; la prima volta sarà il primo ('casa'), la seconda 'villa' e così via.

Un piccolo trucco per numerare i valori che vogliamo restituire usando la funzione enumerate():

>>> menu = ['pizza','hot dog','zuppa di fagioli']
>>> for indice in enumerate(menu):
...     print(indice)
... 
(0, 'pizza')
(1, 'hot dog')
(2, 'zuppa di fagioli')

Miglioriamo l'output inserendo la variabile x, a cui viene assegnato il numero dell'elemento :

>>> for x, indice in enumerate(menu):
...     print(x, indice)
... 
0 pizza
1 hot dog
2 zuppa di fagioli

Tuxerrante