Salta ai contenuti
Manuale LogoManuale Logo

La funzione range()

range() genera una sequenza di numeri interi. Nei cicli for serve per ripetere un’azione un numero preciso di volte o per scorrere numeri in sequenza.

Con range() indichi da dove partire, dove fermarti e di quanto avanzare a ogni passo.

Genera numeri da 0 fino a fine - 1; il limite finale non è incluso:

for i in range(5):
print(i)

Output:

0
1
2
3
4

Genera numeri da inizio fino a fine - 1:

for i in range(2, 7):
print(i)

Output:

2
3
4
5
6

Il numero finale (7) non è incluso: l’intervallo va da 2 incluso a 7 escluso.

Il terzo parametro indica di quanto avanzare a ogni passo:

# Solo i numeri pari da 0 a 10
for i in range(0, 11, 2):
print(i)

Output:

0
2
4
6
8
10

Il passo può essere negativo, per contare all’indietro:

# Conto alla rovescia da 5 a 1
for i in range(5, 0, -1):
print(i)
print("Via!")

Output:

5
4
3
2
1
Via!

Per materializzare i numeri generati da un range, convertilo in lista con list():

print(list(range(5))) # [0, 1, 2, 3, 4]
print(list(range(1, 6))) # [1, 2, 3, 4, 5]
print(list(range(0, 10, 2))) # [0, 2, 4, 6, 8]
totale = 0
for i in range(1, 101): # da 1 a 100 incluso
totale += i
print(totale) # 5050
n = 7
for i in range(1, 11):
print(f"{n} x {i} = {n * i}")

Output:

7 x 1 = 7
7 x 2 = 14
...
7 x 10 = 70

Accedere agli elementi di una lista tramite posizione

Sezione intitolata “Accedere agli elementi di una lista tramite posizione”
frutta = ["mela", "banana", "ciliegia"]
for i in range(len(frutta)):
print(f"Posizione {i}: {frutta[i]}")

Output:

Posizione 0: mela
Posizione 1: banana
Posizione 2: ciliegia