Accademia:Strutture di controllo: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(tolto "stub")
 
(3 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
{{Template:Acc_Menu_Python}}
{{Acc_Menu_Python}}
{{stub}}
__TOC__
__TOC__
==If==
==If==
Riga 85: Riga 84:
* [[Accademia:university.py]].
* [[Accademia:university.py]].


==For==
== For ==
Il ciclo [[http://docs.python.org/py3k/reference/compound_stmts.html#for for ]] è leggermente più complesso, questo andrà a iterare sopra una sequenza, che si puó immaginare semplicemente come una lista (o una serie) di oggetti.
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]].
Esempio semplice:
 
<pre>
<pre>
>>> costruzioni = ['casa', 'villa', 'appartamento', 'monolocale']
>>> costruzioni = ['casa', 'villa', 'appartamento', 'monolocale']
>>> for i in costruzioni:
>>> for i in costruzioni:
print(" Ora sono sull'oggetto: ",i)
...    print("Ora sono sull'oggetto:", i)
 
...
Ora sono sull'oggetto: casa
(" Ora sono sull'oggetto: ", 'casa')
Ora sono sull'oggetto: villa
(" Ora sono sull'oggetto: ", 'villa')
Ora sono sull'oggetto: appartamento
(" Ora sono sull'oggetto: ", 'appartamento')
Ora sono sull'oggetto: monolocale
(" Ora sono sull'oggetto: ", 'monolocale')
</pre>
</pre>
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.
In pratica la nostra variabile <code>i</code> 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() :
Un piccolo [http://docs.python.org/py3k/tutorial/datastructures.html#looping-techniques trucco] per numerare i valori che vogliamo restituire usando la funzione <code>enumerate()</code>:
<pre>
<pre>
>>> menu = ['pizza','hot dog','zuppa di fagioli']
>>> menu = ['pizza','hot dog','zuppa di fagioli']
Riga 113: Riga 109:
</pre>
</pre>


Miglioriamo l'output inserendo la variabile 'x', a cui viene assegnato il numero dell'elemento :
Miglioriamo l'output inserendo la variabile <code>x</code>, a cui viene assegnato il numero dell'elemento :
<pre>
<pre>
>>> for x,indice in enumerate(menu):
>>> for x, indice in enumerate(menu):
...    print(x, indice)
...    print(x, indice)
...  
...  

Versione attuale delle 13:35, 7 giu 2015

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