Contenu du cours
Introduction à Python
Introduction à Python
Comportement des Listes dans les Fonctions
Explorons le travail avec des listes à l'intérieur des fonctions. Bien que cela soit similaire au travail avec des nombres, il y a quelques détails importants à connaître.
Les listes sont mutables, ce qui signifie que toute modification apportée à une liste à l'intérieur d'une fonction affectera également la liste originale à l'extérieur de la fonction si elle est passée directement.
Pour éviter cela, vous pouvez utiliser la méthode copy()
avec tout type de données mutable. Ce faisant, vous créez une copie superficielle de la liste, vous permettant de modifier un duplicata au lieu de l'original. Cela garantit que les modifications apportées dans la fonction n'affectent pas la liste originale.
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']
Dans cet exemple, la liste fruits
originale reste inchangée car copy()
a été utilisé. Sans copy()
, modifier la liste à l'intérieur de la fonction aurait également modifié la liste fruits
originale.
Swipe to start coding
Dans cette tâche, vous allez travailler avec une liste de prix de produits d'un magasin d'alimentation. Votre objectif est de créer une fonction qui applique une réduction de 10% à chaque produit dont le prix est supérieur à 2,00 $, tout en veillant à ce que la liste originale reste inchangée. Cet exercice vous aidera à pratiquer l'utilisation des fonctions, des boucles et la manipulation de listes en Python.
Instructions de Code
- Définissez une fonction nommée
apply_discount(prices)
qui prend une liste de prix comme argument. - À l'intérieur de la fonction, créez une copie de la liste
prices
pour vous assurer que la liste originale reste inchangée. Assignez la copie à la variableprices_copy
. - Utilisez une boucle
for
pour itérer à travers la liste copiée en utilisant des indices. - À l'intérieur de la boucle, vérifiez si chaque prix dépasse 2,00 $. Si c'est le cas, appliquez une réduction de 10% à ce prix.
- Retournez la version mise à jour de la liste copiée après avoir appliqué les réductions.
Exigences de Sortie
- La fonction doit retourner une nouvelle liste avec les prix réduits.
- Imprimez la liste mise à jour des prix au format :
Updated product prices: <$updated_prices>
.
Remarque
Il est important d'itérer à travers la liste en utilisant des indices (
for index in range(len(prices)):
) plutôt que des valeurs (for price in prices:
), car ce dernier ne modifie que des copies des valeurs, laissant la liste originale inchangée.
Solution
Merci pour vos commentaires !
Comportement des Listes dans les Fonctions
Explorons le travail avec des listes à l'intérieur des fonctions. Bien que cela soit similaire au travail avec des nombres, il y a quelques détails importants à connaître.
Les listes sont mutables, ce qui signifie que toute modification apportée à une liste à l'intérieur d'une fonction affectera également la liste originale à l'extérieur de la fonction si elle est passée directement.
Pour éviter cela, vous pouvez utiliser la méthode copy()
avec tout type de données mutable. Ce faisant, vous créez une copie superficielle de la liste, vous permettant de modifier un duplicata au lieu de l'original. Cela garantit que les modifications apportées dans la fonction n'affectent pas la liste originale.
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']
Dans cet exemple, la liste fruits
originale reste inchangée car copy()
a été utilisé. Sans copy()
, modifier la liste à l'intérieur de la fonction aurait également modifié la liste fruits
originale.
Swipe to start coding
Dans cette tâche, vous allez travailler avec une liste de prix de produits d'un magasin d'alimentation. Votre objectif est de créer une fonction qui applique une réduction de 10% à chaque produit dont le prix est supérieur à 2,00 $, tout en veillant à ce que la liste originale reste inchangée. Cet exercice vous aidera à pratiquer l'utilisation des fonctions, des boucles et la manipulation de listes en Python.
Instructions de Code
- Définissez une fonction nommée
apply_discount(prices)
qui prend une liste de prix comme argument. - À l'intérieur de la fonction, créez une copie de la liste
prices
pour vous assurer que la liste originale reste inchangée. Assignez la copie à la variableprices_copy
. - Utilisez une boucle
for
pour itérer à travers la liste copiée en utilisant des indices. - À l'intérieur de la boucle, vérifiez si chaque prix dépasse 2,00 $. Si c'est le cas, appliquez une réduction de 10% à ce prix.
- Retournez la version mise à jour de la liste copiée après avoir appliqué les réductions.
Exigences de Sortie
- La fonction doit retourner une nouvelle liste avec les prix réduits.
- Imprimez la liste mise à jour des prix au format :
Updated product prices: <$updated_prices>
.
Remarque
Il est important d'itérer à travers la liste en utilisant des indices (
for index in range(len(prices)):
) plutôt que des valeurs (for price in prices:
), car ce dernier ne modifie que des copies des valeurs, laissant la liste originale inchangée.
Solution
Merci pour vos commentaires !