Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Arguments Positionnels Arbitraires | Arguments Arbitraires
Tutoriel sur les Fonctions Python
Section 3. Chapitre 1
single

single

bookArguments Positionnels Arbitraires

Glissez pour afficher le menu

Vous connaissez déjà les arguments positionnels et optionnels. Mais lorsqu'une fonction peut recevoir de nombreux paramètres ou que vous ne les connaissez pas à l'avance, vous pouvez utiliser des arguments positionnels arbitraires. Ils permettent à une fonction d'accepter un nombre quelconque de valeurs.

Note
Remarque

Chaque argument peut être n'importe quelle structure de données (liste, dictionnaire, etc.). Les arguments arbitraires permettent de transmettre autant d'objets de ce type que nécessaire.

Pour définir des arguments positionnels arbitraires, placez un astérisque * devant le nom du paramètre. Exemple :

12345678
# Define function with arbitrary positional arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
copy

Ici, *values collecte tous les arguments positionnels passés dans un tuple. À l'intérieur de la fonction, le nom de la variable s'utilise sans *. Le résultat est correct quel que soit le nombre d'arguments fournis.

Note
Remarque

Bien que n'importe quel nom fonctionne, la forme courante et lisible est *args.

1234567891011121314
def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Comme illustré :

  • Aucun argument → args est () ;
  • Un argument → (1,) ;
  • Plusieurs arguments → toutes les valeurs apparaissent dans un tuple, par exemple (1, 2, 3, 'hello', [4, 5, 6]).

*args se comporte comme n'importe quel autre tuple, offrant une flexibilité totale pour gérer de nombreux paramètres.

Puisque *args est simplement un tuple, il est possible d'appliquer n'importe quelle logique à ses valeurs – y compris des conditions. Par exemple, après avoir additionné tous les prix, il est possible de vérifier le total et d'appliquer différentes règles selon le résultat.

Tâche

Glissez pour commencer à coder

Implémenter une fonction calculate_total qui calcule le prix total des articles dans un panier, en appliquant des réductions basées sur le montant total.

  1. Utiliser des arguments positionnels arbitraires nommés prices dans la fonction calculate_total.
  2. Si aucun argument n'est fourni, retourner "Your cart is empty.".
  3. Les réductions sont mutuellement exclusives – appliquer uniquement la plus élevée applicable :
    • Appliquer une réduction de 20 % si le total est $200 ou plus.
    • Appliquer une réduction de 10 % si le total est $100 ou plus.
    • N'appliquer aucune réduction sinon.
  4. Retourner le total final sous forme de chaîne formatée : "Final total: $X.XX".

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 1
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt