single
Utmaning: Valfria Argument
Svep för att visa menyn
Kom ihåg att när du definierar en funktion kan du göra vissa argument valfria genom att tilldela dem ett standardvärde. Om anropet inte anger ett värde används standardvärdet av funktionen.
def add_user(name, age, role="user", status="active"):
# Function body here
nameochageär obligatoriska – måste alltid anges;roleochstatusär valfria – om de utelämnas används deras standardvärden.
Observera att valfria argument alltid måste placeras efter alla obligatoriska argument.
add_user("Alice", 28) # role="user", status="active" by default
add_user("Bob", 25, role="admin", status="inactive") # Overriding the defaults
12345678def greet(name, greeting="Hello"): print(f"{greeting}, {name}!") # Using only the required argument greet("Alice") # Providing both arguments greet("Bob", greeting="Hi")
Svep för att börja koda
Du arbetar med ett enkelt användarhanteringssystem. Ditt mål är att implementera en funktion add_user() som lägger till nya användare eller uppdaterar befintliga i en global lista kallad users_db.
users_db är en lista med ordböcker. Varje ordbok representerar en användare och ser ut så här:
users_db = [
{"name": "Alice", "age": 28, "role": "admin", "status": "active"}
]
- Definiera en funktion
add_user(name, age, role="user", status="active"). - Kontrollera om användaren redan finns: Loopa igenom ordböckerna i
users_db. Kontrollera om nyckeln"name"i någon ordbok matchar argumentetnamesom skickas till din funktion. - Om användaren finns: * Uppdatera deras befintliga ordbok med det nya värdet för
age,roleochstatus.
- Returnera strängen:
"User {name} updated successfully!".
- Om användaren inte finns (loopen avslutas utan att hitta en match):
- Skapa en ny ordbok som representerar användaren med de angivna värdena för
name,age,roleochstatus. - Lägg till denna nya ordbok i
users_db. - Returnera strängen:
"User {name} added successfully!".
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal