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:
range(start, stop, step)
start: questo è il primo numero della sequenza. È opzionale, e se non lo includi, la sequenza inizierà da0.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à di1ogni 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}.")
Nota
La sequenza inizia da
0e termina a6. Questo accade perché Python spesso inizia a contare da0, 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}.")
Nota
Con questo metodo di indicizzazione, dove l'elemento finale è escluso, puoi facilmente calcolare il numero di elementi nella sequenza sottraendo l'argomento
startdall'argomentostop. 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}.")
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}")
Swipe to start coding
Usa due liste — weekdays e daily_promotions — per stampare la promozione assegnata a ciascun giorno della settimana.
- Usa un ciclo
forcon la funzionerange()per iterare attraverso gli indici delle liste. - In ogni iterazione:
- Ottieni il
weekdaycorrente dalla listaweekdays. - Ottieni la promozione corrispondente da
daily_promotionsusando lo stesso indice.
- Ottieni il
- 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
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain more about how the step argument works in the range function?
What happens if I use a negative step value in range()?
Can you give more real-life examples of using range() in a grocery store setting?
Awesome!
Completion rate improved to 2.17
Funzione Range
Scorri per mostrare il menu
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:
range(start, stop, step)
start: questo è il primo numero della sequenza. È opzionale, e se non lo includi, la sequenza inizierà da0.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à di1ogni 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}.")
Nota
La sequenza inizia da
0e termina a6. Questo accade perché Python spesso inizia a contare da0, 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}.")
Nota
Con questo metodo di indicizzazione, dove l'elemento finale è escluso, puoi facilmente calcolare il numero di elementi nella sequenza sottraendo l'argomento
startdall'argomentostop. 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}.")
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}")
Swipe to start coding
Usa due liste — weekdays e daily_promotions — per stampare la promozione assegnata a ciascun giorno della settimana.
- Usa un ciclo
forcon la funzionerange()per iterare attraverso gli indici delle liste. - In ogni iterazione:
- Ottieni il
weekdaycorrente dalla listaweekdays. - Ottieni la promozione corrispondente da
daily_promotionsusando lo stesso indice.
- Ottieni il
- 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
Grazie per i tuoi commenti!
single