Решение на Шахматни фенове от Радостин Маринов
Към профила на Радостин Маринов
Резултати
- 10 точки от тестове
- 1 бонус точка
- 11 точки общо
- 17 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
................. ---------------------------------------------------------------------- Ran 17 tests in 0.201s OK
История (5 версии и 7 коментара)
Радостин обнови решението на 26.11.2022 17:25 (преди почти 2 години)
Радостин обнови решението на 26.11.2022 21:21 (преди почти 2 години)
Реално твоят инициализатор не прави нищо. Можеш просто да го махнеш и да сложиш един pass
.
Cool!
Ако не съм оплескал някоя скоба, това прави същото: sum(map(lambda piece: scores.get(piece, 0), pieces))
.
Просто казваш на речника да дава нула, при невалиден ключ, с което си спестяваш филтъра.
Доста добри неща прочетох тук. Един съвет - извади валидациите извън инциализатора.
lambda upper: upper.lower()
е същото като str.lower
.
Просто го wrap-ваш. Т.е. можеш и направо:
map(str.lower, something)
Ако предварително си запазил парсната версия на fen в инстанцията си - нещо, което така или иначе почти си направил, ще можеш да си спестиш голяма част от тази логика, както и логиката в следващия метод.
Само препоръка. Решението ти е работещо, но ако започнеш да скейваш, ще видиш, че рано или късно ще ти трябват още неща, които изискват вече парсната дъска.
Радостин обнови решението на 27.11.2022 17:07 (преди почти 2 години)
Радостин обнови решението на 28.11.2022 09:54 (преди почти 2 години)
Получаваш бонус точка за решението си. Чисто, подредено, ясно.
Cool!
Доста добри неща прочетох тук. Един съвет - извади валидациите извън инциализатора.
Ако предварително си запазил парсната версия на fen в инстанцията си - нещо, което така или иначе почти си направил, ще можеш да си спестиш голяма част от тази логика, както и логиката в следващия метод.
Само препоръка. Решението ти е работещо, но ако започнеш да скейваш, ще видиш, че рано или късно ще ти трябват още неща, които изискват вече парсната дъска.