Вопрос №55713 от пользователя Dobro в уроке «Функциональный и процедурный подходы в примерах», курс «Python: Декларативное программирование»

Dobro

Всем привет

ревью - https://ru.hexlet.io/code_reviews/420849

  1. Первую функцию надо было через фильтры писать?

  2. Вторую никак не могу родить. Нужна помощь)

Спасибо

2 0

Aleksei Pirogov

  1. Можно было и filter использовать. Но уж точно не в цикле в новый список append'ить :)
  2. Родили же, раз тесты проходит!
    length = len(arr)
    while i < length:
        if i % 2:
            arr.pop(i - counter)
            counter += 1

тут всё плохо!

  • все эти разности между двумя счётчиками не выглядят, как понятный код - вообще не понятно, что происходит, пока код в голове не выполнишь!
  • длина списка меняется, как только вы делаете pop, но цикл продолжает работать с оглядкой на запомненный length. Это сразу бросается и в глаза и ещё больше запутывает
  • зачем здесь вообще делается проверка insinstance, если по условию задачи функция всегда будет со списком списков работать?
1

Dobro

Aleksei Pirogov, та в процессе понимал, что шляпу пишу) спасибо)

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
18 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
18 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
18 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
18 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
18 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
18 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
18 мая 5 месяцев