Вопрос №55854 от пользователя Надежда Алёшечкина в уроке «Больше о декораторах», курс «Python: Функции»
Добрый день, не совсем понимаю, почему решение не проходит тесты, а именно последний из функции test_memoizing() - "Result for zero should be recalculated!".
> assert arguments == [0, 1, 2, 10, 0], (
"Result for zero should be recalculated!",
)
E AssertionError: ('Result for zero should be recalculated!',)
E assert [0, 1, 2, 10] == [0, 1, 2, 10, 0]
E Right contains one more item: 0
E Full diff:
E - [0, 1, 2, 10, 0]
E ? ---
E + [0, 1, 2, 10]
В списке аргументов в тестах присутствует ноль, а в решении отсутствует. Если я правильно понимаю, ноль просто не записывается в список results_queue, то есть дело в этом блоке кода:
if argument not in memory:
memory[argument] = function(argument)
И мне нужно дописать условие, которое отрабатывает на else, т. е. когда такой же аргумент уже есть. Но не совсем ясно, что там должно содержаться, направьте, пожалуйста
В списке аргументов в тестах присутствует ноль, а в решении отсутствует
Новый ноль появляется потому, что предыдущий ноль должен быть уже отброшен, как выходящий за размеры "памяти".
Если я правильно понимаю, ноль просто не записывается в список results_queue
Есть такая проблема, да. Вы из results_queue
вообще только отбрасываете, но нигде не дописываете.
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







