Contenido del Curso
Introducción a Python
Introducción a Python
Comportamiento de Listas en Funciones
Vamos a explorar trabajar con listas dentro de funciones. Aunque es similar a trabajar con números, hay algunos detalles importantes a tener en cuenta.
Las listas son mutables, lo que significa que cualquier cambio realizado en una lista dentro de una función también afectará a la lista original fuera de la función si se pasa directamente.
Para evitar esto, puedes usar el método copy()
con cualquier tipo de dato mutable. Al hacerlo, creas una copia superficial de la lista, permitiéndote modificar un duplicado en lugar del original. Esto asegura que los cambios realizados dentro de la función no afecten a la lista original.
def add_strawberry(original_list): list_copy = original_list.copy() # Create a copy of the original list list_copy.append("Strawberry") # Modify the copied list return list_copy # Original list fruits = ["Apple", "Banana", "Cherry"] # Call the function new_fruits = add_strawberry(fruits) # Check the results print("Original list:", fruits) # ['Apple', 'Banana', 'Cherry'] print("Modified list:", new_fruits) # ['Apple', 'Banana', 'Cherry', 'Strawberry']
En este ejemplo, la lista original fruits
permanece sin cambios porque se usó copy()
. Sin copy()
, modificar la lista dentro de la función también habría cambiado la lista original fruits
.
Swipe to start coding
En esta tarea, trabajarás con una lista de precios de productos de una tienda de comestibles. Tu objetivo es crear una función que aplique un 10% de descuento a cada producto con un precio superior a $2.00, asegurando que la lista original permanezca sin cambios. Este ejercicio te ayudará a practicar el uso de funciones, bucles y manipulación de listas en Python.
Instrucciones de Código
- Define una función llamada
apply_discount(prices)
que tome una lista de precios como su argumento. - Dentro de la función, crea una copia de la lista
prices
para asegurar que la lista original permanezca sin cambios. Asigna la copia a la variableprices_copy
. - Usa un bucle
for
para iterar a través de la lista copiada usando índices. - Dentro del bucle, verifica si cada precio supera los $2.00. Si es así, aplica un 10% de descuento a ese precio.
- Devuelve la versión actualizada de la lista copiada después de aplicar los descuentos.
Requisitos de Salida
- La función debe devolver una nueva lista con los precios descontados.
- Imprime la lista actualizada de precios en el formato:
Updated product prices: <$updated_prices>
.
Nota
Es importante iterar a través de la lista usando índices (
for index in range(len(prices)):
) en lugar de valores (for price in prices:
), ya que este último solo modifica copias de los valores, dejando la lista original sin cambios.
Solución
¡Gracias por tus comentarios!
Comportamiento de Listas en Funciones
Vamos a explorar trabajar con listas dentro de funciones. Aunque es similar a trabajar con números, hay algunos detalles importantes a tener en cuenta.
Las listas son mutables, lo que significa que cualquier cambio realizado en una lista dentro de una función también afectará a la lista original fuera de la función si se pasa directamente.
Para evitar esto, puedes usar el método copy()
con cualquier tipo de dato mutable. Al hacerlo, creas una copia superficial de la lista, permitiéndote modificar un duplicado en lugar del original. Esto asegura que los cambios realizados dentro de la función no afecten a la lista original.
def add_strawberry(original_list): list_copy = original_list.copy() # Create a copy of the original list list_copy.append("Strawberry") # Modify the copied list return list_copy # Original list fruits = ["Apple", "Banana", "Cherry"] # Call the function new_fruits = add_strawberry(fruits) # Check the results print("Original list:", fruits) # ['Apple', 'Banana', 'Cherry'] print("Modified list:", new_fruits) # ['Apple', 'Banana', 'Cherry', 'Strawberry']
En este ejemplo, la lista original fruits
permanece sin cambios porque se usó copy()
. Sin copy()
, modificar la lista dentro de la función también habría cambiado la lista original fruits
.
Swipe to start coding
En esta tarea, trabajarás con una lista de precios de productos de una tienda de comestibles. Tu objetivo es crear una función que aplique un 10% de descuento a cada producto con un precio superior a $2.00, asegurando que la lista original permanezca sin cambios. Este ejercicio te ayudará a practicar el uso de funciones, bucles y manipulación de listas en Python.
Instrucciones de Código
- Define una función llamada
apply_discount(prices)
que tome una lista de precios como su argumento. - Dentro de la función, crea una copia de la lista
prices
para asegurar que la lista original permanezca sin cambios. Asigna la copia a la variableprices_copy
. - Usa un bucle
for
para iterar a través de la lista copiada usando índices. - Dentro del bucle, verifica si cada precio supera los $2.00. Si es así, aplica un 10% de descuento a ese precio.
- Devuelve la versión actualizada de la lista copiada después de aplicar los descuentos.
Requisitos de Salida
- La función debe devolver una nueva lista con los precios descontados.
- Imprime la lista actualizada de precios en el formato:
Updated product prices: <$updated_prices>
.
Nota
Es importante iterar a través de la lista usando índices (
for index in range(len(prices)):
) en lugar de valores (for price in prices:
), ya que este último solo modifica copias de los valores, dejando la lista original sin cambios.
Solución
¡Gracias por tus comentarios!