Funzione Range
La funzione range() in Python è una funzione incorporata che genera una sequenza di numeri.
Viene spesso utilizzata per iterare su una sequenza con i cicli, in particolare quando è necessario eseguire un ciclo un numero specifico di volte.
Questa funzione è ideale per gestire attività che prevedono un modello di ripetizione prevedibile, come il rifornimento degli scaffali o la pianificazione delle vendite in un supermercato.
Vediamo come Alex utilizza la funzione range() per gestire in modo efficiente le attività di routine nel nostro scenario del supermercato:
Sintassi e Argomenti
La funzione range() può accettare fino a tre argomenti, rendendola versatile per diversi scenari di iterazione.
Ecco la sintassi generale della funzione range:
range(start, stop, step)
start: rappresenta il primo numero della sequenza. È opzionale e, se non viene specificato, la sequenza inizierà da0.stop: rappresenta l'ultimo numero della sequenza, ma la sequenza si interrompe appena prima di questo numero. Questo argomento è obbligatorio.step: rappresenta l'incremento (o decremento) tra ciascun numero della sequenza. È opzionale e, se non viene specificato, 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 cicli.
Un solo argomento
Quando la funzione range() viene fornita di un solo argomento, questo viene interpretato come parametro stop.
Nel nostro esempio, genera una sequenza di 7 elementi a partire da 0 e terminando a 6. Il ciclo itera su questi elementi, rappresentando i primi 7 giorni di apertura del negozio.
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, è possibile calcolare facilmente 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 di Esempio
Con la funzione range(), possiamo programmare le attività per ogni giorno della settimana per garantire che tutte le sezioni del negozio siano coperte.
Questo ciclo si ripete 7 volte perché range(7) crea numeri da 0 a 6 (per un totale di 7 elementi). In ogni iterazione, 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
Utilizza due liste — weekdays e daily_promotions — per stampare la promozione assegnata a ciascun giorno della settimana.
- Utilizza un ciclo
forcon la funzionerange()per iterare sugli 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>: Promozione su <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 range()?
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?
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.
Viene spesso utilizzata per iterare su una sequenza con i cicli, in particolare quando è necessario eseguire un ciclo un numero specifico di volte.
Questa funzione è ideale per gestire attività che prevedono un modello di ripetizione prevedibile, come il rifornimento degli scaffali o la pianificazione delle vendite in un supermercato.
Vediamo come Alex utilizza la funzione range() per gestire in modo efficiente le attività di routine nel nostro scenario del supermercato:
Sintassi e Argomenti
La funzione range() può accettare fino a tre argomenti, rendendola versatile per diversi scenari di iterazione.
Ecco la sintassi generale della funzione range:
range(start, stop, step)
start: rappresenta il primo numero della sequenza. È opzionale e, se non viene specificato, la sequenza inizierà da0.stop: rappresenta l'ultimo numero della sequenza, ma la sequenza si interrompe appena prima di questo numero. Questo argomento è obbligatorio.step: rappresenta l'incremento (o decremento) tra ciascun numero della sequenza. È opzionale e, se non viene specificato, 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 cicli.
Un solo argomento
Quando la funzione range() viene fornita di un solo argomento, questo viene interpretato come parametro stop.
Nel nostro esempio, genera una sequenza di 7 elementi a partire da 0 e terminando a 6. Il ciclo itera su questi elementi, rappresentando i primi 7 giorni di apertura del negozio.
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, è possibile calcolare facilmente 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 di Esempio
Con la funzione range(), possiamo programmare le attività per ogni giorno della settimana per garantire che tutte le sezioni del negozio siano coperte.
Questo ciclo si ripete 7 volte perché range(7) crea numeri da 0 a 6 (per un totale di 7 elementi). In ogni iterazione, 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
Utilizza due liste — weekdays e daily_promotions — per stampare la promozione assegnata a ciascun giorno della settimana.
- Utilizza un ciclo
forcon la funzionerange()per iterare sugli 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>: Promozione su <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