Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Sfida: Argomenti Opzionali | Argomenti Posizionali e Opzionali
Tutorial Sulle Funzioni in Python
Sezione 2. Capitolo 4
single

single

Sfida: Argomenti Opzionali

Scorri per mostrare il menu

Ricorda che, quando si definisce una funzione, è possibile rendere alcuni argomenti opzionali assegnando loro un valore predefinito. Se chi chiama la funzione non fornisce un valore, la funzione utilizza quello predefinito.

def add_user(name, age, role='user', status='active'):
    # Function body here
  • name e age sono obbligatori – devono sempre essere forniti;
  • role e status sono opzionali – se omessi, vengono utilizzati i valori predefiniti.

Ricorda che gli argomenti opzionali devono sempre essere posizionati dopo tutti gli argomenti obbligatori.

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')
Compito

Scorri per iniziare a programmare

Stai lavorando con un semplice sistema di gestione utenti. Il tuo obiettivo è implementare una funzione add_user() che aggiunge nuovi utenti o aggiorna quelli esistenti in una lista globale chiamata users_db.

La users_db è una lista di dizionari. Ogni dizionario rappresenta un utente ed è strutturato così:

users_db = [
    {'name': 'Alice', 'age': 28, 'role': 'admin', 'status': 'active'}
]
  1. Definire una funzione add_user(name, age, role='user', status='active').
  2. Verifica degli utenti esistenti: Cicla tra i dizionari in users_db. Controlla se la chiave 'name' in uno dei dizionari corrisponde all'argomento name passato alla funzione.
  3. Se l'utente esiste: * Aggiorna il dizionario esistente con i nuovi valori di age, role e status.
  • Restituisci la stringa: 'User {name} updated successfully!'.
  1. Se l'utente non esiste (il ciclo termina senza trovare una corrispondenza):
  • Crea un nuovo dizionario che rappresenta l'utente con i valori forniti per name, age, role e status.
  • Aggiungi questo nuovo dizionario a users_db.
  • Restituisci la stringa: 'User {name} added successfully!'.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

some-alt