Correzione degli Argomenti Mutabili di Default
In Python, l'utilizzo di oggetti mutabili come le liste come argomenti di default nelle funzioni può portare a comportamenti inaspettati. Questo accade perché il valore di default per un argomento di funzione viene valutato solo una volta, al momento in cui la funzione viene definita. Di conseguenza, l'argomento mutabile di default viene condiviso tra tutte le invocazioni della funzione.
Per superare questo problema, la funzione dovrebbe essere modificata per utilizzare
None
come valore di default per l'argomento lista e quindi inizializzare una lista vuota all'interno della funzione quando questo argomento è None
.Ti viene richiesto di modificare la funzione
mutable_default_argument
definita nell'esercizio precedente. Questa funzione accetterà due parametri: un intero n
e una lista lst
che per default è None
.La funzione dovrebbe controllare se
lst
è None
e, in tal caso, inizializzarla come una lista vuota. Quindi dovrebbe aggiungere l'intero n
a lst
e restituire lst
.La prima riga dell'input contiene un singolo intero
m
, il numero di volte che la funzione verrà chiamata. Ciascuna delle successive m
righe contiene un singolo intero n
, il numero che verrà aggiunto alla lista.L'output dovrebbe contenere
m
righe. Ogni riga dovrebbe essere una lista, rappresentando lo stato di lst
dopo ogni chiamata della funzione.Input | Output |
3
1
2
3 | [1]
[2]
[3] |
Nota: Osserva come, a differenza dell'esercizio precedente, la lista
lst
non è condivisa tra le invocazioni della funzione. Ogni chiamata della funzione produce una lista con un singolo elemento, corrispondente al numero aggiunto in quella particolare chiamata. Questo è il comportamento previsto ed è ottenuto evitando l'uso di argomenti mutabili di default.Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB