Función Range
La función range()
en Python es una función incorporada que genera una secuencia de números.
Se utiliza a menudo para iterar sobre una secuencia con bucles, especialmente cuando se necesita 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 supermercado.
Veamos cómo Alex utiliza la función range()
para gestionar eficientemente las tareas rutinarias en nuestro escenario de supermercado:
Sintaxis y argumentos
La función range()
puede recibir hasta tres argumentos, lo que la hace versátil para diversos escenarios de bucles.
Esta es la sintaxis general de 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 obligatorio.step
: esta es la cantidad que se suma (o resta) entre cada número de la secuencia. Es opcional, y si no lo incluyes, la secuencia aumentará en1
cada vez.
Ahora que comprendes 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 a la función range()
se le proporciona un solo argumento, lo interpreta 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 ocurre porque Python suele comenzar a contar desde0
, lo que reduce la necesidad de ajustar los índices 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 de stop
se excluye 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 la cantidad 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 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 de 0
a 6
, que luego se utiliza para acceder a los 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
Utiliza dos listas — weekdays
y daily_promotions
— para mostrar la promoción asignada a cada día de la semana.
- Emplea un bucle
for
con la funciónrange()
para iterar sobre los índices de las listas. - En cada iteración:
- Obtén el
weekday
actual de la listaweekdays
. - Obtén la promoción correspondiente de
daily_promotions
usando el mismo índice.
- Obtén el
- Muestra ambos valores en el formato especificado.
Requisitos de salida
- Para cada día, imprime:
<weekday>: Promotion on <promotion>
Nota
Asegúrate de que ambas listas tengan la misma cantidad de elementos para evitar errores de índice.
Solución
¡Gracias por tus comentarios!