Accademia:Strutture di controllo: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
(tolto "stub")
 
(20 versioni intermedie di 4 utenti non mostrate)
Riga 1: Riga 1:
{{Template:Acc_Menu_Python}}
{{Acc_Menu_Python}}
 
__TOC__
<pre>if [condition1]:
==If==
Il più conosciuto tra le strutture di controllo è sicuramente l&#39;''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:
<pre>if [condition1]:
     do_something
     do_something
elif [condition2]:
elif [condition2]:
Riga 8: 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, quando nessuna delle precedenti è vera, si possono indicare tutti i valori rimante con il blocco ''else'' (in Italiano 'altrimenti').
<pre>
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 !")
</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==
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:'' )
<pre>while [condition1]:
<pre>while [condition1]:
     do_something
     do_something
Riga 14: Riga 56:
         break
         break
</pre>
</pre>
[[Categoria:Accademia Lezione 3]]
 
[[Categoria:Accademia Lezione 4]]
<pre>
>>> 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
</pre>
 
<pre>
while True:
  x = input(" Inserisci quello che vuoi per continuare, o 'exit' per uscire : ")
  if x == 'exit':
      break
</pre>
 
* Vedi anche questo [[http://forum.debianizzati.org/viewtopic.php?f=60&t=42751| post]].
 
Gli Scritp della lezione 4:
* [[Accademia:calcolatrice.py]];
* [[Accademia:login.py]];
* [[Accademia:university.py]].
 
== 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]].
<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>
>>> menu = ['pizza','hot dog','zuppa di fagioli']
>>> for indice in enumerate(menu):
...    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 :
<pre>
>>> for x, indice in enumerate(menu):
...    print(x, indice)
...
0 pizza
1 hot dog
2 zuppa di fagioli
</pre>
 
----
:[[Utente:Tuxerrante|Tuxerrante]]
[[Categoria:Accademia Python - Lezione 3]]
[[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