📘 Funzione range()

La funzione range() in Python genera sequenze di numeri ed è uno degli strumenti principali per iterare con cicli strutturati. È particolarmente utile quando devi ripetere un’operazione un numero noto e prevedibile di volte, come nella pianificazione di attività ricorrenti in un supermercato.


🔧 Sintassi della funzione range()

range(start, stop, step)
  • start → primo numero della sequenza (opzionale, default = 0)
  • stop → numero a cui fermarsi (escluso)
  • step → incremento o decremento tra i valori (opzionale, default = 1)

🧪 Esempi

▶ Usare range() con un solo argomento

for day in range(7):
    print(f"Good morning! The store is now open on day {day}.")

La sequenza generata è 0…6.


▶ Usare range() con due argomenti

for day in range(25, 32):
    print(f"Seasonal sale on December {day}.")

Genera 25…31.


▶ Usare range() con tre argomenti

for hour in range(1, 13, 3):
    print(f"Staff shift starts at hour {hour}.")

Sequenza: 1, 4, 7, 10.


🛒 Applicazione pratica

Associare attività settimanali usando l’indice generato da range():

for day in range(7):
    task = weekly_tasks[day]
    weekday = weekdays[day]
    print(f"{weekday} Task: {task}")

📝 Compito

Stampa la promozione del giorno usando due liste: weekdays e daily_promotions.

🎯 Istruzioni

  1. Itera sugli indici delle liste usando range().

  2. A ogni iterazione:

    • prendi il giorno corrente da weekdays
    • prendi la promozione corrispondente da daily_promotions
  3. Stampa nel formato:

<weekday>: Promozione su <promotion>

💡 Nota

Le due liste devono avere la stessa lunghezza per evitare errori di indicizzazione.