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.

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:

python
  • start: rappresenta il primo numero della sequenza. È opzionale e, se non viene specificato, la sequenza inizierà da 0.

  • 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à 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 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}.")
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, è possibile calcolare facilmente 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 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}")
copy
Compito

Swipe to start coding

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

  • Utilizza un ciclo for con la funzione range() per iterare sugli 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>: Promozione su <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.

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:

python
  • start: rappresenta il primo numero della sequenza. È opzionale e, se non viene specificato, la sequenza inizierà da 0.

  • 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à 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 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}.")
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, è possibile calcolare facilmente 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 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}")
copy
Compito

Swipe to start coding

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

  • Utilizza un ciclo for con la funzione range() per iterare sugli 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>: Promozione su <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