Home Programmazione Python, corso base Capitolo 10: Controllo del flusso: cicli for e while. Le istruzioni break, continue, pass.

Page Rank Check    





Ultimi articoli

Capitolo 10: Controllo del flusso: cicli for e while. Le istruzioni break, continue, pass.
Guide di programmazione - Python, corso base
Scritto da RedBaron85   
Sabato 30 Gennaio 2010 17:41

Guida a Python - Corso base - Capitolo 10: controllo del flusso: cicli for e while. Break, continue, pass.


Capitolo 10: Controllo del flusso: cicli for e while. Le istruzioni break, continue, pass.

Il costrutto for ci consente di effettuare dei CICLI, ossia di ripetere un insieme di istruzioni per un certo numero di volte.

La sintassi è:

for [indice] in [sequenza]:

# istruzioni (attenzione all'indentazione !

Attenzione ai : (due punti) alla fine della dichiarazione del for.

 

 

Nella sua forma base, for viene creato mediante il costrutto range, disponibile in tre versioni:

  • range(n);.

Esegue il ciclo n-volte. Il valore di [indice], ad ogni iterazione, sarà pari al valore di n. Il valore iniziale di n sarà 0.

Esempio:

>>> for n in range(4):
print n


0
1
2
3

 

  • range(inizio, fine);

Esegue il ciclo (fine-inizio)-volte. Ad ogni iterazione, il valore di n sarà pari a (inizio + numeroIterazione).

Esempio:

>>> for n in range(3, 6):
print n


3
4
5

 

  • range(inizio, fine, passo);

Esegue il ciclo ((fine-inizio) / passo)-volte. Il valore di n varierà da inizio a fine con incremento pari a passo (appunto...) ad ogni iterazione.

Esempio:

>>> for n in range(10, 2, -1):
print n


10
9
8
7
6
5
4
3

 

E' possibile comunque generare un for "scorrendo" un qualsiasi dato iterabile; in questo caso, la sintassi sarà:

for [indice] in [oggetto iterabile]:

# istruzioni (attenzione all'indentazione !

Esempio:

>>> for lettera in "stringa":
print lettera


s
t
r
i
n
g
a
>>>

 

Il costrutto for ci offre, inoltre, l'interessante possibilità di scorrere contemporaneamente più oggetti iterabili, depositando i valori correnti di ciascun oggetto ad ogni passo in un indice differente; per usufruire di tale opzione, dovremo utilizzare il costrutto zip, come mostrato nella regola della sintassi e nell'esempio:

for indice1, indice2, ..., indiceN in zip(iterabile1, iterabile2, ..., iterabileN):

# Corpo istruzioni, attenzione all'indentazione

Esempio:

>>> lista1 = [1, 2, 3]
>>> lista2 = ["Ciao", "come", "stai"]
>>> lista3 = [True, False, None]
>>> for indice1, indice2, indice3 in zip(lista1, lista2, lista3):
print indice1, indice2, indice3


1 Ciao True
2 come False
3 stai None
>>>

 

 

Il costrutto while, invece, effettua le operazioni specificate fintantochè si verifica una condizione; sintassi:

while condizione:

[operazioni]

Attenzione, quindi, al segno : (due punti) posto subito dopo la condizione da verificare e all'indentazione che identifica il corpo del metodo.

NOTA --- Ricordarsi che il while, a differenza del for, non raggiungerà mai la sua condizione di terminazione se non verrà specificato, in qualche modo, di incrementare un contatore o terminare in base a qualche altro evento ! Spetta al programmatore occuparsi di tale aspetto !

Esempio:

>>> x = 0
>>> while x<10:
print x
x = x+1


0
1
2
3
4
5
6
7
8
9
>>>

 

Esistono delle istruzioni particolari che permettono, comunque, di "forzare" il flusso del programma nei cicli o di "tenere occupato" il corpo di un blocco if, for o while, ad esempio quando ancora dobbiamo determinare per bene il contenuto di questi blocchi ma, intanto, vogliamo "tenere il posto":

  • break

L'istruzione break ci consente di terminare bruscamente un ciclo; ad esempio, si è verificata una condizione (non quella di terminazione del ciclo, ma un'altra; ad esempio, il ciclo era un ciclo di attesa e, nel frattempo, è arrivato un messaggio dalla rete, ecc...).

Per terminare il ciclo, sarà sufficiente scrivere, come corpo dell'istruzione di verifica:

break

Ad esempio:

>>> c = 0
>>> for c in range(0,10):
print c
if (c*2>6):
break


0
1
2
3
4
>>>

 

  • continue

L'istruzione continue indica a Python di passare direttamente all'iterazione successiva di un ciclo (while o for) senza eseguire le altre istruzioni presenti nel corpo del blocco poste dopo continue (utile, ad esempio, se durante l'esecuzione del ciclo si verifica una condizione e certe istruzioni del ciclo non devono essere eseguite, mentre altre sì, e comunque è necessario effettuare altre iterazioni); in tal caso, sarà sufficiente scrivere:

continue

 

  • pass

Pass non fa assolutamente nulla, ma permette di riempire il blocco delle istruzioni di if, for o while, ad esempio perchè non sappiamo ancora cosa metterci (se stiamo lavorando in un team e siamo in attesa della definizione di un modulo da utilizzare nel corpo di un while, intanto scriviamo il while con il pass, poi lo sostituiremo); es.:

while(condizione):

pass

Tags:     programmazione      guide      manuali      corso      python      capitolo 10      controllo flusso      flusso      cicli      for      while      break      continue      pass
Ultimo aggiornamento Domenica 22 Gennaio 2012 13:58
 

Ti è piaciuto questo articolo ? Condividilo !



RedBaron85.com Forum community banner

Non hai trovato quello che cercavi ?
Ricerca personalizzata
Copyright © 2012 RedBaron85.com: Informatica, CG 2D e 3D, Blender, Python, Java 2D e 3D, 3D Studio e altro ancora!. Tutti i diritti riservati.
Joomla! è un software libero rilasciato sotto licenza GNU/GPL.

Milanese Francesco - Partita IVA: 04950350878

AltroArticoliblog utentiBlueprintsContestenglishProgrammazioneModelliElencoNewsTexturesTutorialsVideotutorials