Accademia:Strutture di controllo: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(→‎For: revisiono)
Riga 86: Riga 86:


== For ==
== For ==
Il ciclo [[http://docs.python.org/py3k/reference/compound_stmts.html#for for]] è leggermente più complesso; questi andrà ad iterare sopra una sequenza, come ad esempio una [[Accademia:Oggetti predefiniti#Liste|lista]].
Il ciclo [http://docs.python.org/py3k/reference/compound_stmts.html#for for] è leggermente più complesso; questi andrà ad iterare sopra una sequenza, come ad esempio una [[Accademia:Oggetti predefiniti#Liste|lista]].
<pre>
<pre>
>>> costruzioni = ['casa', 'villa', 'appartamento', 'monolocale']
>>> costruzioni = ['casa', 'villa', 'appartamento', 'monolocale']

Versione delle 14:26, 20 mar 2011

Document-page-setup.png 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; 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