Михаил @redlinelm
Пользователь
Месье, ваши problem solving skills не на высоте, или как я провалил одно собеседование

А вот что у меня получилось на Python…
Look
Выразительная простота python на примере задач из комбинаторики

Хорошо… Но задача написать не одну функцию, а четыре. Как я упомянул в своем посте, сначала были написанны все 4 функции подобным образом. Когда перед тобой 4 почти одинаковые функции, а различия в состоят в двух строках кода, появляется естественное желание выделить общее. Такой код намного проще сопровождать, Что бы заменить assert на if(как вы предлагаете ), например, мне нужно одно изменение, а не в четыре. Шаблоны проектирования придуманы не мной, и не один я ими пользуюсь… Так что может ваш код и более «питонистый», но с точки зрения вопроса проектирования я вижу большой минус.
Look
Выразительная простота python на примере задач из комбинаторики

Господа критики, критика должна быть конструктивной. Выражения типа «код автора выглядит плохо. На Python так не пишут», «Ваш код просто ужасен» и т.д. без конкретных замечаний и реализаций смотрятся странно. Критикуя-предлагай.
Look
Выразительная простота python на примере задач из комбинаторики

А можно продолжить мысль и объяснить почему?
Look
Выразительная простота python на примере задач из комбинаторики

Если взглянуть на itertools.combinations(iterable, r) то там тоже присутствует однабуквенная переменная…
Look
Выразительная простота python на примере задач из комбинаторики

То есть ваши претезии только к форме, а не к содержанию? Насчет названия переменнных, что такое k, n должно быть понятно из таблицы над кодом(это стандартные обозначения в комбинаторике), а s для стороки и с для символа тоже не редкость
Look
Выразительная простота python на примере задач из комбинаторики

Хотел бы взглянуть на просто прекрасный код…
Look
Выразительная простота python на примере задач из комбинаторики

А как надо можно узнать?
Look
Выразительная простота python на примере задач из комбинаторики

Я уже написал о изобретения велосипеда, предвосхищая ваш коментарий. Зачем комениторовать не полность прочитанный текст…
Look
Information
- Rating
- Does not participate
- Location
- Нижний Новгород, Нижегородская обл., Россия
- Date of birth
- Registered
- Activity