La funzione range¶
Nel nostro semplice esempio (mostrato sotto di nuovo), usiamo una lista di 4 interi per far ripetere l’iterazione 4 volte. Avremmo potuto usare 4 valori qualsiasi.
import turtle # set up alex
wn = turtle.Screen()
alex = turtle.Turtle()
for i in [0, 1, 2, 3]: # repeat four times
alex.forward(50)
alex.left(90)
wn.exitonclick()
- Le liste con un numero specifico di interi sono molto comuni
- Python fornisce oggetti speciali
range
che possono darci una sequenza di valori da usare nel ciclofor
per esempio. - La sequenza restituita da
range
parte sempre da 0. - Se invochiamo
range(4)
, allora otteniamo 4 valori partendo da 0.
for i in range(4):
# Executes the body with i = 0, then 1, then 2, then 3
for x in range(10):
# sets x to each of ... [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Note
Agli informatici piace cominciare a contare da 0!
Dunque per ripetere qualcosa quattro volte, un programmatore Python scriverebbe questo:
for i in range(4):
alex.forward(50)
alex.left(90)
- La funzione range è una funzione molto potente
- Ma che succede se vogliamo
[1, 2, 3, 4]
? Possiamo ottenerla invocandorange
con due parametri dove il primo parametro è l’inizio della sequenza desiderata (incluso) e il secondo è la fine (escluso). - Dunque la valutazione di
range(1,5)
produce la sequenza desiderata.
Nell’esempio seguente, la variabile i
prende i valori prodotti dalla funzione range
.
- Infine, supponiamo di volere una sequenza di numeri pari.
- Come possiamo ottenerla? Possiamo usare un nuovo parametro, il passo, che ci dice il passo con cui dobbiamo contare.
- Se vogliamo i primi 10 numeri pari possiamo usare
range(0,19,2)
.
Di seguito in codelens.