Accademia:Strutture di controllo: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(tolto "stub")
 
(13 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
{{Template:Acc_Menu_Python}}
{{Acc_Menu_Python}}
{{stub}}
__TOC__
==If==
==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.
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:
Per esempio:
<pre>if [condition1]:
<pre>if [condition1]:
     do_something
     do_something
elif [condition2]:
elif [condition2]:
Riga 11: Riga 11:
     do_something_else
     do_something_else
</pre>
</pre>
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 se nessuna delle precedenti è vera, entra nel blocco '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').
<pre>
<pre>
a,b = 2,3 # a=2 b=3
a, b = 2, 3 # a = 2 b = 3
if  a < b:
if  a < b:
     print(" Il valore di 'a' e' minore di quello in 'b' !")
     print(" Il valore di 'a' e' minore di quello in 'b' !")
Riga 21: Riga 21:
     print(" Le due variabili sono uguali !")
     print(" Le due variabili sono uguali !")
</pre>
</pre>
Attenzione al fatto che ''elif'' è diverso da ''if''! Ad esempio:
{|width=100% style="border: 1px solid #ccc;"
|
Codice
|
<pre> x = 19
if x > 18:
    print('sei maggiorenne')
elif x > 10:
    print('sei un teenager')
else:
    print('sei un bambino')</pre>
| <pre> x = 19
if x > 18:
    print('sei maggiorenne')
if x > 10:
    print('sei un teenager')
else:
    print('sei un bambino')</pre>
|-
| Output
| <pre>sei maggiorenne</pre>
| <pre>sei maggiorenne
sei un teenager</pre>
|}


==While==
==While==
Riga 32: Riga 58:


<pre>
<pre>
>>> inizio,fine = 0,5
>>> inizio, fine = 0, 5
>>> while inizio<fine:
>>> while inizio < fine:
print(" Esecuzione del ciclo numero ",inizio)
print(" Esecuzione del ciclo numero ", inizio)
inizio +=1
inizio += 1


Esecuzione del ciclo numero 0
Esecuzione del ciclo numero 0
Riga 47: Riga 73:
while True:
while True:
   x = input(" Inserisci quello che vuoi per continuare, o 'exit' per uscire : ")
   x = input(" Inserisci quello che vuoi per continuare, o 'exit' per uscire : ")
   if x=='exit':
   if x == 'exit':
       break
       break
</pre>
</pre>
* Vedi anche questo [[http://forum.debianizzati.org/viewtopic.php?f=60&t=42751| post]].


Gli Scritp della lezione 4:
Gli Scritp della lezione 4:
Riga 56: 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 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>
>>> 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
</pre>
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 [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>
>>> costruzioni = ['casa','villa','appartamento','monolocale']
>>> menu = ['pizza','hot dog','zuppa di fagioli']
>>> for i in costruzioni:
>>> for indice in enumerate(menu):
print(" Ora sono sull'oggetto: ",i)
...    print(indice)
...
(0, 'pizza')
(1, 'hot dog')
(2, 'zuppa di fagioli')
</pre>


Miglioriamo l'output inserendo la variabile <code>x</code>, a cui viene assegnato il numero dell'elemento :
(" Ora sono sull'oggetto: ", 'casa')
<pre>
(" Ora sono sull'oggetto: ", 'villa')
>>> for x, indice in enumerate(menu):
(" Ora sono sull'oggetto: ", 'appartamento')
...    print(x, indice)
(" Ora sono sull'oggetto: ", 'monolocale')
...
0 pizza
1 hot dog
2 zuppa di fagioli
</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.
 
----
----
:[[Utente:Tuxerrante|Tuxerrante]]
:[[Utente:Tuxerrante|Tuxerrante]]
[[Categoria:Accademia Python - Lezione 3]]
[[Categoria:Accademia Python - Lezione 3]]
[[Categoria:Accademia Python - Lezione 4]]
[[Categoria:Accademia Python - Lezione 4]]

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