
Друзья, а вот и решение предыдущей задачи.
Ошибки в исходном коде:
1) неправильна указана правая граница в
Один из принципов Python Zen гласит, что плоское лучше, чем вложенное. 🐍
Кстати, мы добавили некоторые принципы из Python Zen в наш стикерпак. Пользуйтесь. ❤️
P.S. Обратите внимание, что в Python
#рефакторинг #ответнавопрос #собеседование
Ошибки в исходном коде:
1) неправильна указана правая граница в
range()
, вместо 12
следует указать 13,
2) неправильный оператор возведения в степень, вместо ^
следует использовать **,
3) неправильный оператор сравнения на равенство, вместо =
следует указать ==.
Рефакторинг. Основной недостаток приведенного кода — глубокая вложенность. Избавиться от циклов нам поможет функция product()
из модуля itertools
. Функция product()
генерирует все те же комбинации, что и вложенные циклы, но делает это в одной строке. Это делает код более простым для понимания и поддержки.Один из принципов Python Zen гласит, что плоское лучше, чем вложенное. 🐍
Кстати, мы добавили некоторые принципы из Python Zen в наш стикерпак. Пользуйтесь. ❤️
P.S. Обратите внимание, что в Python
^
— это оператор xor
(побитовое ИЛИ). Таким образом, программа будет работать даже с оператором ^
, но выдавать будет не то, что требовалось. Про оператор ^ (xor)
расскажем в будущих постах. 🙃#рефакторинг #ответнавопрос #собеседование