Sektion 2. Kapitel 4
single
Challenge: Valgfrie Argumenter
Stryg for at vise menuen
Husk, at når du definerer en funktion, kan du gøre nogle argumenter valgfri ved at tildele dem en standardværdi. Hvis den, der kalder funktionen, ikke angiver en værdi, bruger funktionen standardværdien.
def add_user(name, age, role="user", status="active"):
# Function body here
nameogageer påkrævede – skal altid angives;roleogstatuser valgfri – hvis de udelades, bruges deres standardværdier.
Bemærk, at valgfrie argumenter altid skal komme efter alle påkrævede argumenter.
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")
Opgave
Swipe to start coding
Du arbejder med et simpelt brugerstyringssystem. Dit mål er at implementere en funktion add_user(), der tilføjer nye brugere eller opdaterer eksisterende i en global liste kaldet users_db.
users_db er en liste af ordbøger. Hver ordbog repræsenterer en bruger og ser således ud:
users_db = [
{"name": "Alice", "age": 28, "role": "admin", "status": "active"}
]
- Definér en funktion
add_user(name, age, role="user", status="active"). - Tjek for eksisterende brugere: Gennemløb ordbøgerne i
users_db. Undersøg om nøglen"name"i nogen ordbog matcher argumentetname, der gives til din funktion. - Hvis brugeren findes: * Opdater den eksisterende ordbog med de nye værdier for
age,roleogstatus.
- Returnér strengen:
"User {name} updated successfully!".
- Hvis brugeren ikke findes (gennemløbet afsluttes uden at finde et match):
- Opret en ny ordbog, der repræsenterer brugeren med de angivne værdier for
name,age,roleogstatus. - Tilføj denne nye ordbog til
users_db. - Returnér strengen:
"User {name} added successfully!".
Løsning
Var alt klart?
Tak for dine kommentarer!
Sektion 2. Kapitel 4
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat