single
Iteración Sobre Índices
Desliza para mostrar el menú
En la tarea anterior, proporcionaste una cantidad específica de elementos a la función range(). Pero, ¿qué sucede si necesitas determinar la cantidad de manera dinámica? Aquí es donde la iteración por índices se vuelve esencial.
La iteración por índices es una técnica fundamental en Python que permite acceder y modificar elementos según sus posiciones dentro de estructuras de datos como listas o arreglos. Es especialmente útil para tareas que requieren control preciso sobre cada elemento, como actualizar niveles de inventario o gestionar datos de ventas en una tienda de comestibles.
Observa cómo Alex demuestra que iterar sobre índices puede simplificar las operaciones en nuestro ejemplo de tienda de comestibles:
Iterar sobre índices es útil cuando necesitas acceder tanto al índice como al valor de cada elemento en una lista. Cuando usamos range() con len(), estamos combinando dos funciones para generar una secuencia de números que corresponde a los índices de los elementos de la lista. Este método es particularmente útil en bucles donde necesitas acceder o modificar elementos basados en su posición.
Por ejemplo, este bucle for accede al índice y al valor de cada elemento en la grocery_list:
12345678# List of grocery items grocery_list = ["Apples", "Bananas", "Carrots", "Cucumbers"] # Initialize a for loop to iterate over indexes for item in range(len(grocery_list)): print("Index:", item) print("Item:", grocery_list[item]) print("----") # Printing a divider line for clarity
Aplicación de ejemplo
Para aplicar un descuento a una lista de precios, es necesario modificar directamente los elementos de la lista. Usar un bucle simple como for cost in prices: solo proporciona una copia de cada elemento, no una referencia al elemento real en la lista. Las modificaciones realizadas de esta manera no afectarían la lista original.
Para asegurarnos de actualizar directamente cada elemento en la lista prices, utilizamos range(len(prices)) para iterar sobre los índices. Esto nos permite aplicar un factor de descuento a cada elemento:
12345678910111213# List of original prices of grocery items prices = [1.50, 2.00, 0.75, 3.25] # Discount factor (10% off each item) discount_factor = 0.10 # Iterate over the list of prices using range(len()) for cost in range(len(prices)): # Apply the discount by reducing the price prices[cost] -= prices[cost] * discount_factor print(f"New price of item {cost + 1}: ${prices[cost]}") print("Updated prices:", prices)
Nota
La fórmula
prices[cost] -= prices[cost] * discount_factores equivalente aprices[cost] = prices[cost] - prices[cost] * discount_factor. Esto resta una parte del precio original (determinada por el descuento) de sí mismo, aplicando efectivamente el descuento;El
cost + 1en la instrucción print ajusta el índice para que parezca comenzar desde1en lugar de0, haciéndolo más amigable para el usuario.
Este método asegura que la lista original prices se actualice directamente con los nuevos precios descontados, reflejando los cambios de inmediato en todo el programa donde se utilice la lista prices.
Desliza para comenzar a programar
En esta tarea, se aplicarán diferentes porcentajes de descuento a los precios de productos según su posición (índice) en una lista.
Se proporciona una lista de precios de productos. Cada precio debe actualizarse de acuerdo con su índice en la lista.
Pasos
- Comenzar con la lista de precios proporcionada:
prices = [29.99, 45.50, 12.75, 38.20]
-
Utilizar un bucle for junto con
range()ylen()para iterar sobre los índices de la listaprices(desde el índice0hasta el último índice). -
Dentro del bucle, comprobar el índice actual y aplicar el descuento correspondiente:
- Índice
0→ aplicar un 10% de descuento - Índice
1→ aplicar un 20% de descuento - Índice
2→ aplicar un 15% de descuento - Índice
3→ aplicar un 5% de descuento
-
Actualizar cada precio directamente en la lista
pricesdespués de aplicar el descuento. -
Después de actualizar el precio, imprimir el resultado en el siguiente formato:
Updated price for item {index}: ${updated_price:.2f}
Nota
.2fformatea un número a dos decimales (por ejemplo,5se convierte en5.00). Utilizarlo dentro de un f-string de la siguiente manera:{price:.2f}.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla