Как стать автором
Обновить

Решение головоломки из университетского квеста с помощью Python

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров3.1K
Всего голосов 5: ↑5 и ↓0+6
Комментарии5

Комментарии 5

Дочитал до update_constr и остановился. Почему вы выбрали кортеж для хранения данных?

all или any с generator expression хорошо подойдут для реализации satisfied

for direction in ('horizontal','vertical'): for move in (+1,-1):

Можно все четыре варианта прописать руками и тогда будет один цикл вместо двух. Код будет чуть проще.

Я такой цикл предпочитаю заменить на for dir, mov in get_neighboars(...): которая сгенерирует все возможные варианты. Туда же уйдёт фильтрация значений выходящих за границы поля.

В коде очень много отступов, что делает его сложным для чтения. Я бы порекомендовал измерить цикломатичискую сложность и упростить код, чтобы она не превышала 10. Я обычно стараюсь в 5ку уложиться.

Спасибо. Если у тебя есть такая возможность, ты не мог бы показать, как бы ты реализовал подобную программу? Было бы интересно посмотреть.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории