Cicli for 1: introduzione¶

Riferimenti: SoftPython - for 1

  • visualizza al meglio in
  • versione stampabile: clicca qua
  • per navigare nelle slide: premere Esc


Summer School Data Science 2023 - Modulo 1 informatica: Moodle

Docente: David Leoni david.leoni@unitn.it

Esercitatore: Luca Bosotti luca.bosotti@studenti.unitn.it

Iterazione¶

Come compiere azioni su ogni elemento di una sequenza?

Cicli for

  • normali
  • list comprehension

Cicli while

Riferimenti: SoftPython - controllo di flusso

Esempio ciclo for

In [2]:
 
Out[2]:
Python Tutor visualization
  1. abbiamo definito la variabile animale

  2. per ogni elemento nella lista animali:

    • la variabile animale assume il valore dell'elemento
    • vengono eseguite le istruzioni dentro il blocco

Sequenza range¶

In [3]:
range(5)
Out[3]:
range(0, 5)

range(n) rappresenta una sequenza con i primi numeri da 0 incluso a n escluso

la sequenza è 'congelata'

Per materializzare i numeri, convertire esplicitamente a list:

In [4]:
list(range(5))
Out[4]:
[0, 1, 2, 3, 4]

for in range¶

Come incrementare un contatore ad ogni ciclo?

Possiamo usare range

Il for scorre automaticamente la sequenza:

In [5]:
 
Out[5]:
Python Tutor visualization

A cosa serve for in range? 1/2¶

Per leggere da una lista possiamo usare gli indici:

In [6]:
 
Out[6]:
Python Tutor visualization

A cosa serve for in range? 2/2¶

Per MODIFICARE celle esistenti di una lista, dobbiamo usare gli indici:

In [7]:
 
Out[7]:
Python Tutor visualization

Senza indici, non funziona:

In [8]:
 
Out[8]:
Python Tutor visualization

Sequenze mutabili - non aggiungere¶

X COMANDAMENTO a): Non aggiungerai mai elementi da una sequenza
che iteri con un
for !

la = ['a','b','c']

for elemento in la:
    la.append(elemento)    # ATTENZIONE !

Sequenze mutabili - non togliere¶

X COMANDAMENTO b): Non toglierai mai elementi da una sequenza
che iteri con un
for !

In [9]:
 
Out[9]:
Python Tutor visualization

Comando break¶

Serve a uscire immediamente da un ciclo:

In [10]:
 
Out[10]:
Python Tutor visualization

Comando continue¶

salta immediatamente all'iterazione successiva

In [11]:
 
Out[11]:
Python Tutor visualization

Che stampa 1/2?¶

In [12]:
 
Out[12]:
Python Tutor visualization

Che stampa 2/2?¶

In [13]:
 
Out[13]:
Python Tutor visualization
In [14]: