Accademia:Strutture di controllo: differenze tra le versioni
(→For) |
m (→For) |
||
Riga 113: | Riga 113: | ||
</pre> | </pre> | ||
Miglioriamo l'output inserendo la variabile 'x', | Miglioriamo l'output inserendo la variabile 'x', a cui viene assegnato il numero dell'elemento : | ||
<pre> | <pre> | ||
>>> for x,indice in enumerate(menu): | >>> for x,indice in enumerate(menu): |
Versione delle 18:08, 26 feb 2011
Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.
Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template. |
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, questo andrà a iterare sopra una sequenza, che si puó immaginare semplicemente come una lista (o una serie) di oggetti. Esempio semplice:
>>> 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