Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Challenge: Arguments Optionnels | Arguments positionnels et optionnels
Tutoriel sur les Fonctions Python
Section 2. Chapitre 4
single

single

bookChallenge: Arguments Optionnels

Glissez pour afficher le menu

Rappel : lors de la définition d'une fonction, certains arguments peuvent être rendus optionnels en leur attribuant une valeur par défaut. Si l'appelant ne fournit pas de valeur, la fonction utilise la valeur par défaut.

def add_user(name, age, role="user", status="active"):
    # Function body here
  • name et age sont obligatoires – doivent toujours être fournis ;
  • role et status sont optionnels – si omis, leurs valeurs par défaut sont utilisées.

Rappel : les arguments optionnels doivent toujours être placés après tous les arguments obligatoires.

add_user("Alice", 28)           # role="user", status="active" by default
add_user("Bob", 25, role="admin", status="inactive")  # Overriding the defaults
12345678
def greet(name, greeting="Hello"): print(f"{greeting}, {name}!") # Using only the required argument greet("Alice") # Providing both arguments greet("Bob", greeting="Hi")
copy
Tâche

Glissez pour commencer à coder

Vous travaillez avec un système de gestion d'utilisateurs simple. Votre objectif est d'implémenter une fonction add_user() qui ajoute de nouveaux utilisateurs ou met à jour les utilisateurs existants dans une liste globale appelée users_db.

La variable users_db est une liste de dictionnaires. Chaque dictionnaire représente un utilisateur et se présente ainsi :

users_db = [
    {"name": "Alice", "age": 28, "role": "admin", "status": "active"}
]
  1. Définir une fonction add_user(name, age, role="user", status="active").
  2. Vérification des utilisateurs existants : Parcourir les dictionnaires dans users_db. Vérifier si la clé "name" dans un dictionnaire correspond à l'argument name passé à votre fonction.
  3. Si l'utilisateur existe : * Mettre à jour son dictionnaire existant avec les nouvelles valeurs de age, role et status.
  • Retourner la chaîne : "User {name} updated successfully!".
  1. Si l'utilisateur n'existe pas (la boucle se termine sans trouver de correspondance) :
  • Créer un nouveau dictionnaire représentant l'utilisateur avec les valeurs fournies pour name, age, role et status.
  • Ajouter ce nouveau dictionnaire à users_db.
  • Retourner la chaîne : "User {name} added successfully!".

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 2. Chapitre 4
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