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 silmukassa läpi
users_db-listan sanakirjat. Tarkista, vastaako jonkin 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