In Python la funzione range vi permette di creare sequenze numeriche per­so­na­liz­za­te. Risulta molto pratica so­prat­tut­to in ab­bi­na­men­to ai cicli for in Python.

I campi di ap­pli­ca­zio­ne della funzione range in Python in breve

In sostanza, la funzione range serve per creare una sequenza numerica che segue un de­ter­mi­na­to modello. Poiché questa funzione è usata so­prat­tut­to in ab­bi­na­men­to ai cicli for, è inclusa in qualsiasi tutorial di Python. Vi permette di spe­ci­fi­ca­re l’area in cui eseguire un blocco di codice molto fa­cil­men­te, con un’unica chiamata di funzione.

Consiglio

Python è perfetto anche per i progetti web. Se volete avviare un vostro progetto web, è un’ottima idea usare Deploy Now: di­stri­bui­te tutti i vostri progressi in modo au­to­ma­ti­co tramite GitHub e mantenete sempre la visione d’insieme!

La sintassi di Python range

La struttura sin­tat­ti­ca della funzione range in Python non è com­pli­ca­ta. La funzione riceve fino a tre parametri di tra­sfe­ri­men­to, fornendo come risultato una sequenza numerica.

range(start, stop, step)
python

Alla chiamata della funzione range in Python non dovete indicare tutti i parametri. Solo il parametro stop, che serve a definire il valore finale, è ob­bli­ga­to­rio. Prestate tuttavia at­ten­zio­ne che il valore da voi indicato non sia incluso nella sequenza numerica re­sti­tui­ta:

for i in range(6):
print(i)
python

L’esempio di codice sopra re­sti­tui­sce sullo schermo la sequenza di numeri “0, 1, 2, 3, 4, 5”.

Il parametro start è opzionale e definisce un valore di inizio con cui parte l’enu­me­ra­zio­ne. Se non indicate un valore di inizio, la sequenza numerica della funzione range in Python inizia dal valore 0, come potete vedere nell’esempio di codice sopra. Se, invece, volete iniziare ad esempio dal numero tre, il vostro codice potrebbe pre­sen­tar­si come segue:

for i in range(3, 6):
print(i)
python

Sullo schermo viene ora re­sti­tui­ta la sequenza numerica “3, 4, 5”.

Se de­si­de­ra­te usare la funzione range nel vostro codice, neanche il parametro step è ob­bli­ga­to­rio. Potete uti­liz­zar­lo per definire in modo più preciso l’ampiezza della vostra sequenza numerica. Il valore pre­de­fi­ni­to uti­liz­za­to se non inserite un valore è 1. Con il codice seguente potete inserire il parametro stop, ad esempio, per re­sti­tui­re sullo schermo un numero ogni tre:

for i in range(2, 10, 3):
print(i)
python

Iniziando dal numero 2, inserito come parametro start, viene ora re­sti­tui­to un numero su tre fino a 10. La sequenza numerica re­sti­tui­ta è quindi: “2, 5, 8”.

Esempio di utilizzo: re­sti­tui­re tutti i numeri pari inferiori a 100

La funzione range vi permette di re­sti­tui­re in modo molto semplice de­ter­mi­na­te serie ma­te­ma­ti­che, ad esempio di numeri pari. Basta iniziare dal numero 0 che, come già men­zio­na­to, è il valore pre­de­fi­ni­to del parametro start. Tuttavia, affinché l’in­ter­pre­te Python sappia quale dei valori passati deve essere in­ter­pre­ta­to come valore di start, stop o step, se usate il parametro step dovete indicare tutti e tre i valori.

Se­le­zio­na­te come valore del parametro stop il numero 100 per con­si­de­ra­re tutti i numeri inferiori a 100. Per re­sti­tui­re sullo schermo solo i numeri pari potete impostare il parametro step sul valore 2. In questo modo, iniziando da 0 viene re­sti­tui­to solo un numero ogni due.

for i in range(0, 100, 2):
print(i)
python

Questo semplice frammento di codice re­sti­tui­sce ora tutti i numeri pari inferiori a 100.

Sequenze numeriche de­cre­scen­ti con la funzione range in Python

La funzione range vi permette anche di definire sequenze numeriche de­cre­scen­ti. A questo scopo dovete ac­cer­tar­vi che il valore start sia superiore al valore stop. Inserendo valori negativi nel parametro step indicate che non volete contare in ordine crescente, ma de­cre­scen­te. Per chiarire, di seguito un esempio di codice:

for i in range(10, 0, -1):
print(i)
python

Questo esempio di codice re­sti­tui­sce la sequenza numerica seguente: “10, 9, 8, 7, 6, 5, 4, 3, 2, 1”.

Vai al menu prin­ci­pa­le