Код на салфетке
23.06
Вчерашняя задача была короткой, но интересной и как оказалось сложной. Правильно ответили всего 9 человек из 33-х, что равно 27%.
Код задачи:
``` numbers = [1, 2, 3] numbers.append(*[4, 5])
print(numbers) ```
Разбор задачи Сперва пройдёмся по строкам.
Сначала объявляем переменную numbers и присваиваем ей список чисел [1, 2, 3].
Затем у переменной numbers вызываем метод .append(), передав в него распакованный список [4, 5].
В конце вызываем функцию print(), передав в неё переменную numbers для вывода результата.
Что могло пойти не так? Функции в Python принимают два вида аргументов: позиционные и ключевые. В нашем случае, мы передаём в метод .append() один позиционный аргумент - список [4, 5], однако, затем мы применяем к нему распаковку. Мы уже писали про работу распаковки в разборе задачи "Найди ошибку №2".
Всё дело в том, что, когда применяется распаковка, все элементы передаются как отдельные аргументы, в связи с чем и получаем ошибку TypeError, поскольку метод .append() принимает только один позиционный аргумент, а мы ему передаём два.
еще контент в этом сообществе
еще контент в этом соообществе
Код на салфетке
23.06
войдите, чтобы увидеть
и подписаться на интересных профи