Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Funzione Range | Cicli
Introduzione a Python

Scorri per mostrare il menu

book
Funzione Range

La funzione range() in Python è una funzione incorporata che genera una sequenza di numeri.

È spesso utilizzata per iterare su una sequenza con cicli, in particolare quando è necessario eseguire un ciclo un numero specifico di volte.

Questo è ideale per gestire compiti che coinvolgono un modello di ripetizione prevedibile, come rifornire gli scaffali o programmare le vendite in un contesto di negozio di alimentari.

Vediamo come Alex utilizza la funzione range() per gestire efficacemente i compiti di routine nel nostro scenario di negozio di alimentari:

Sintassi e Argomenti

La funzione range() può accettare fino a tre argomenti, rendendola versatile per vari scenari di loop.

Ecco la sintassi generale per la funzione range:

python
  • start : questo è il primo numero della sequenza. È opzionale , e se non lo includi, la sequenza inizierà da 0 .

  • stop : questo è l' ultimo numero della sequenza, ma la sequenza si fermerà appena prima di questo numero . Questo argomento è obbligatorio .

  • step : questo è l' incremento (o decremento) tra ciascun numero nella sequenza. È opzionale , e se non lo includi, la sequenza aumenterà di 1 ogni volta.

Ora che hai compreso la sintassi della funzione range(), esploriamo alcuni esempi per vedere come ciascun argomento — start, stop e step — influenzi il comportamento dei loop.

Un Singolo Argomento

Quando alla funzione range() viene dato un singolo argomento, lo tratta come il parametro stop.

Nel nostro esempio, genera una sequenza di 7 elementi a partire da 0 e terminando a 6. Il loop itera su questi elementi, rappresentando i primi 7 giorni in cui il negozio è aperto.

123
# Announce store opening every day for 7 days for day in range(7): print(f"Good morning! The store is now open on day {day}.")
copy

Nota

La sequenza inizia da 0 e termina a 6. Questo accade perché Python spesso inizia a contare da 0, il che riduce la necessità di regolare l'indicizzazione in molte situazioni.

Due Argomenti

Quando vengono forniti due argomenti, come 25 (start) e 32 (stop), range() genera una sequenza da 25 a 31 (poiché il valore stop è escluso dalla sequenza).

123
# Planning seasonal sale days in the last week of December for day in range(25, 32): print(f"Seasonal sale on December {day}.")
copy

Nota

Con questo metodo di indicizzazione, dove l'elemento finale è escluso, puoi facilmente calcolare il numero di elementi nella sequenza sottraendo l'argomento start dall'argomento stop. Ad esempio, 32 - 25 = 7, il che significa che ci sono 7 elementi nella sequenza.

Tre Argomenti

Aggiungendo un terzo argomento a range(), si introduce un valore step, che definisce l'incremento tra ciascun numero nella sequenza.

In questo esempio, range() prende 1 (start), 13 (stop) e 3 (step), producendo i numeri 1, 4, 7, 10. Questi possono rappresentare le ore di inizio dei turni del personale durante una giornata lavorativa di 12 ore.

123
# Schedule staff shifts every three hours throughout a 12-hour day for hour in range(1, 13, 3): print(f"Staff shift starts at hour {hour}.")
copy

Applicazione Esempio

Con la funzione range(), possiamo programmare compiti per ogni giorno della settimana per assicurarci che tutte le sezioni del negozio siano coperte.

Questo ciclo si esegue 7 volte perché range(7) crea numeri da 0 a 6 (un totale di 7 elementi). In ogni ciclo, la variabile day assume un valore da 0 a 6, che viene poi utilizzato per accedere agli elementi delle liste weekly_tasks e weekdays.

123456789101112131415161718192021
# List of daily tasks for a week weekly_tasks = [ "Restock Fruits", "Clean Dairy Section", "Review Meat Inventory", "Restock Vegetables", "Check Bakery Expiry Dates", "Organize Front Displays", "Prepare Weekly Sales Report" ] # List of weekdays corresponding to each task weekdays = [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] # Loop through each day using the range function for day in range(7): task = weekly_tasks[day] # Access the task corresponding to the current day weekday = weekdays[day] # Access the corresponding weekday print(f"{weekday} Task: {task}")
copy
Compito

Swipe to start coding

Usa due listeweekdays e daily_promotions — per stampare la promozione assegnata a ciascun giorno della settimana.

  • Usa un ciclo for con la funzione range() per iterare attraverso gli indici delle liste.
  • In ogni iterazione:
    • Ottieni il weekday corrente dalla lista weekdays.
    • Ottieni la promozione corrispondente da daily_promotions usando lo stesso indice.
  • Stampa entrambi i valori nel formato specificato.

Requisiti di Output

  • Per ogni giorno, stampa:
    <weekday>: Promotion on <promotion>

Nota

Assicurati che entrambe le liste abbiano lo stesso numero di elementi per evitare errori di indicizzazione.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 3
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?

Chieda ad AI

expand
ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

book
Funzione Range

La funzione range() in Python è una funzione incorporata che genera una sequenza di numeri.

È spesso utilizzata per iterare su una sequenza con cicli, in particolare quando è necessario eseguire un ciclo un numero specifico di volte.

Questo è ideale per gestire compiti che coinvolgono un modello di ripetizione prevedibile, come rifornire gli scaffali o programmare le vendite in un contesto di negozio di alimentari.

Vediamo come Alex utilizza la funzione range() per gestire efficacemente i compiti di routine nel nostro scenario di negozio di alimentari:

Sintassi e Argomenti

La funzione range() può accettare fino a tre argomenti, rendendola versatile per vari scenari di loop.

Ecco la sintassi generale per la funzione range:

python
  • start : questo è il primo numero della sequenza. È opzionale , e se non lo includi, la sequenza inizierà da 0 .

  • stop : questo è l' ultimo numero della sequenza, ma la sequenza si fermerà appena prima di questo numero . Questo argomento è obbligatorio .

  • step : questo è l' incremento (o decremento) tra ciascun numero nella sequenza. È opzionale , e se non lo includi, la sequenza aumenterà di 1 ogni volta.

Ora che hai compreso la sintassi della funzione range(), esploriamo alcuni esempi per vedere come ciascun argomento — start, stop e step — influenzi il comportamento dei loop.

Un Singolo Argomento

Quando alla funzione range() viene dato un singolo argomento, lo tratta come il parametro stop.

Nel nostro esempio, genera una sequenza di 7 elementi a partire da 0 e terminando a 6. Il loop itera su questi elementi, rappresentando i primi 7 giorni in cui il negozio è aperto.

123
# Announce store opening every day for 7 days for day in range(7): print(f"Good morning! The store is now open on day {day}.")
copy

Nota

La sequenza inizia da 0 e termina a 6. Questo accade perché Python spesso inizia a contare da 0, il che riduce la necessità di regolare l'indicizzazione in molte situazioni.

Due Argomenti

Quando vengono forniti due argomenti, come 25 (start) e 32 (stop), range() genera una sequenza da 25 a 31 (poiché il valore stop è escluso dalla sequenza).

123
# Planning seasonal sale days in the last week of December for day in range(25, 32): print(f"Seasonal sale on December {day}.")
copy

Nota

Con questo metodo di indicizzazione, dove l'elemento finale è escluso, puoi facilmente calcolare il numero di elementi nella sequenza sottraendo l'argomento start dall'argomento stop. Ad esempio, 32 - 25 = 7, il che significa che ci sono 7 elementi nella sequenza.

Tre Argomenti

Aggiungendo un terzo argomento a range(), si introduce un valore step, che definisce l'incremento tra ciascun numero nella sequenza.

In questo esempio, range() prende 1 (start), 13 (stop) e 3 (step), producendo i numeri 1, 4, 7, 10. Questi possono rappresentare le ore di inizio dei turni del personale durante una giornata lavorativa di 12 ore.

123
# Schedule staff shifts every three hours throughout a 12-hour day for hour in range(1, 13, 3): print(f"Staff shift starts at hour {hour}.")
copy

Applicazione Esempio

Con la funzione range(), possiamo programmare compiti per ogni giorno della settimana per assicurarci che tutte le sezioni del negozio siano coperte.

Questo ciclo si esegue 7 volte perché range(7) crea numeri da 0 a 6 (un totale di 7 elementi). In ogni ciclo, la variabile day assume un valore da 0 a 6, che viene poi utilizzato per accedere agli elementi delle liste weekly_tasks e weekdays.

123456789101112131415161718192021
# List of daily tasks for a week weekly_tasks = [ "Restock Fruits", "Clean Dairy Section", "Review Meat Inventory", "Restock Vegetables", "Check Bakery Expiry Dates", "Organize Front Displays", "Prepare Weekly Sales Report" ] # List of weekdays corresponding to each task weekdays = [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] # Loop through each day using the range function for day in range(7): task = weekly_tasks[day] # Access the task corresponding to the current day weekday = weekdays[day] # Access the corresponding weekday print(f"{weekday} Task: {task}")
copy
Compito

Swipe to start coding

Usa due listeweekdays e daily_promotions — per stampare la promozione assegnata a ciascun giorno della settimana.

  • Usa un ciclo for con la funzione range() per iterare attraverso gli indici delle liste.
  • In ogni iterazione:
    • Ottieni il weekday corrente dalla lista weekdays.
    • Ottieni la promozione corrispondente da daily_promotions usando lo stesso indice.
  • Stampa entrambi i valori nel formato specificato.

Requisiti di Output

  • Per ogni giorno, stampa:
    <weekday>: Promotion on <promotion>

Nota

Assicurati che entrambe le liste abbiano lo stesso numero di elementi per evitare errori di indicizzazione.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 3
Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt