Función Range
La función range()
en Python es una función incorporada que genera una secuencia de números.
A menudo se utiliza para iterar sobre una secuencia con bucles, particularmente cuando necesitas ejecutar un bucle un número específico de veces.
Esto es ideal para manejar tareas que implican un patrón de repetición predecible, como reabastecer estantes o programar ventas en un entorno de tienda de comestibles.
Veamos cómo Alex utiliza la función range()
para gestionar eficientemente las tareas rutinarias en nuestro escenario de tienda de comestibles:
Sintaxis y Argumentos
La función range()
puede tomar hasta tres argumentos, lo que la hace versátil para varios escenarios de bucles.
Aquí está la sintaxis general para la función range
:
python
start
: este es el primer número de la secuencia. Es opcional , y si no lo incluyes, la secuencia comenzará en0
.stop
: este es el último número de la secuencia, pero la secuencia se detendrá justo antes de este número . Este argumento es requerido .step
: esta es la cantidad que sumas (o restas) entre cada número en la secuencia. Es opcional , y si no lo incluyes, la secuencia aumentará en1
cada vez.
Ahora que tienes una comprensión de la sintaxis de la función range()
, exploremos algunos ejemplos para ver cómo cada argumento — start
, stop
y step
— influye en el comportamiento de los bucles.
Un Solo Argumento
Cuando la función range()
recibe un solo argumento, lo trata como el parámetro stop
.
En nuestro ejemplo, genera una secuencia de 7 elementos comenzando desde 0
y terminando en 6
. El bucle itera sobre estos elementos, representando los primeros 7 días que la tienda está abierta.
# 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 secuencia comienza en
0
y termina en6
. Esto sucede porque Python a menudo comienza a contar desde0
, lo que reduce la necesidad de ajustar el índice en muchas situaciones.
Dos Argumentos
Cuando se proporcionan dos argumentos, como 25
(start
) y 32
(stop
), range()
genera una secuencia desde 25
hasta 31
(ya que el valor stop
está excluido de la secuencia).
# 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 este método de indexación, donde el elemento final está excluido, puedes calcular fácilmente el número de elementos en la secuencia restando el argumento
start
del argumentostop
. Por ejemplo,32 - 25 = 7
, lo que significa que hay 7 elementos en la secuencia.
Tres Argumentos
Al agregar un tercer argumento a range()
, introduces un valor de step
, que define el incremento entre cada número en la secuencia.
En este ejemplo, range()
toma 1
(start
), 13
(stop
) y 3
(step
), produciendo los números 1, 4, 7, 10
. Estos pueden representar las horas de inicio de los turnos del personal durante una jornada laboral de 12 horas.
# 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}.")
Aplicación de Ejemplo
Con la función range()
, podemos programar tareas para cada día de la semana para asegurarnos de que todas las secciones de la tienda estén cubiertas.
Este bucle se ejecuta 7 veces porque range(7)
crea números del 0
al 6
(un total de 7 elementos). En cada iteración, la variable day
toma un valor del 0
al 6
, que luego se utiliza para acceder a elementos de las listas weekly_tasks
y weekdays
.
# 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
En esta tarea, trabajarás con dos listas: una que contiene productos en promoción para cada día, y otra que contiene los nombres de los días de la semana. Tu objetivo es escribir un bucle que itere sobre ambas listas e imprima el día de la semana actual junto con la promoción correspondiente.
Instrucciones de Código
- Usa un bucle
for
para iterar a través de los índices de las listas usando la funciónrange()
. - Para cada iteración, recupera el
weekday
actual de la listaweekdays
usando el índice. - Recupera la promoción correspondiente de la lista
daily_promotions
usando el mismo índice. - Imprime el día de la semana y la promoción en el formato especificado.
Requisitos de Salida
- Para cada iteración, imprime el día de la semana y la promoción en el formato:
<weekday>: Promotion on <promotion>
.
Nota
Presta atención al número de elementos en las listas.
Solución
¡Gracias por tus comentarios!