single
Haaste: Valinnaiset Argumentit
Pyyhkäise näyttääksesi valikon
Muista, että kun määrittelet funktion, voit tehdä joistakin argumenteista valinnaisia antamalla niille oletusarvon. Jos kutsuja ei anna arvoa, funktio käyttää oletusarvoa.
def add_user(name, age, role="user", status="active"):
# Function body here
namejaageovat pakollisia – ne on aina annettava;rolejastatusovat valinnaisia – jos ne jätetään pois, käytetään oletusarvoja.
Muista, että valinnaiset argumentit on aina sijoitettava pakollisten argumenttien jälkeen.
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")
Pyyhkäise aloittaaksesi koodauksen
Työskentelet yksinkertaisen käyttäjähallintajärjestelmän parissa. Tavoitteenasi on toteuttaa funktio add_user(), joka lisää uusia käyttäjiä tai päivittää olemassa olevia käyttäjiä globaalissa listassa nimeltä users_db.
users_db on lista sanakirjoja. Jokainen sanakirja edustaa käyttäjää ja näyttää tältä:
users_db = [
{"name": "Alice", "age": 28, "role": "admin", "status": "active"}
]
- Määrittele funktio
add_user(name, age, role="user", status="active"). - Tarkista olemassa olevat käyttäjät: Käy läpi
users_db-listan sanakirjat. Tarkista, vastaako minkään sanakirjan"name"-avain funktiolle annettuaname-argumenttia. - Jos käyttäjä on olemassa: * Päivitä hänen sanakirjaansa uusilla arvoilla:
age,rolejastatus.
- Palauta merkkijono:
"User {name} updated successfully!".
- Jos käyttäjää ei löydy (silmukka päättyy ilman osumaa):
- Luo uusi sanakirja käyttäjälle annetuilla arvoilla:
name,age,rolejastatus.- Lisää tämä uusi sanakirja
users_db-listaan.
- Lisää tämä uusi sanakirja
- Palauta merkkijono:
"User {name} added successfully!".
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme