Надежда обнови решението на 29.11.2022 07:18 (преди почти 3 години)
Пусни си sanity тест-а, или дори просто си изпълни кода ръчно. Имаш синтактична грешка.
Към профила на Надежда Панделиева
.....E...........
======================================================================
ERROR: test_getitem (test.TestChessPosition)
Test getitem functionality.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/storage/deedee/data/rails/pyfmi-2022/releases/20221115154139/lib/language/python/runner.py", line 67, in thread
raise result
IndexError: string index out of range
----------------------------------------------------------------------
Ran 17 tests in 0.183s
FAILED (errors=1)
Пусни си sanity тест-а, или дори просто си изпълни кода ръчно. Имаш синтактична грешка.
Можеш да минеш и само с един pass в тялото на класа, защото този инициализатор реално не прави нищо.
Тези имена подсказват, че наистина играеш шах :)
Смятам, че една долна черта е достатъчно.
https://fmi.py-bg.net/tips/2
return kings == 2
Препоръчвам да си погледнеш валидацията. Имаш дупка в логиката.
на какво разстояние трябва да са за да е грешно само на разстояние едно или примерно единия е (1,3) а другия (4,0)
Само на разстояние 1, т.е. да са на съседни полета
Можеш да се възползваш от втория аргумент на dict.get(), за да спестиш филтъра:
sum_of_points = sum([self.__points.get(figure.lower(), 0) for figure in self.figures])
Можеш да минеш и само с един
passв тялото на класа, защото този инициализатор реално не прави нищо.Тези имена подсказват, че наистина играеш шах :)