Исправление изменяемых аргументов по умолчанию

В Python использование изменяемых объектов, таких как списки, в качестве аргументов по умолчанию в функциях может привести к неожиданному поведению. Это происходит потому, что значение аргумента по умолчанию вычисляется только один раз — при определении функции. В результате один и тот же изменяемый аргумент по умолчанию будет использоваться во всех вызовах этой функции.
Чтобы решить эту проблему, функцию следует изменить так, чтобы использовать None в качестве значения по умолчанию для аргумента списка, а затем инициализировать пустой список внутри функции, если этот аргумент равен None.
Вам нужно модифицировать функцию mutable_default_argument, определённую в предыдущем упражнении. Эта функция должна принимать два параметра: целое число n и список lst, который по умолчанию равен None.
Функция должна проверить, равен ли lst значению None, и если это так, инициализировать его как пустой список. Затем необходимо добавить число n в lst и вернуть lst.
Первая строка входных данных содержит одно целое число m — количество вызовов функции. Каждая из следующих m строк содержит одно целое число n, которое будет добавлено в список.
Вывод должен состоять из m строк. Каждая строка должна быть списком, отображающим состояние lst после каждого вызова функции.
Ввод
Вывод
3 1 2 3
[1] [2] [3]
Примечание: Обратите внимание, что в отличие от предыдущего упражнения, список lst не разделяется между вызовами функции. Каждый вызов функции создаёт список с одним элементом, соответствующим числу, добавленному в этом вызове. Это ожидаемое поведение достигается за счёт избегания использования изменяемых аргументов по умолчанию.
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue