Решение на Шахматни фенове от Стоян Михайлов
Резултати
- 6 точки от тестове
- 0 бонус точки
- 6 точки общо
- 11 успешни тест(а)
- 6 неуспешни тест(а)
Код
Лог от изпълнението
..EEEEE.....E.... ====================================================================== ERROR: test_black_is_winning (test.TestChessPosition) Test black_is_winning. ---------------------------------------------------------------------- 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 solution.ChessException: kings ====================================================================== ERROR: test_get_black_score (test.TestChessPosition) Test get_black_score. ---------------------------------------------------------------------- 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 solution.ChessException: kings ====================================================================== ERROR: test_get_white_score (test.TestChessPosition) Test get_white_score. ---------------------------------------------------------------------- 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 solution.ChessException: kings ====================================================================== 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 ====================================================================== ERROR: test_is_equal (test.TestChessPosition) Test is_equal. ---------------------------------------------------------------------- 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 solution.ChessException: kings ====================================================================== ERROR: test_white_is_winning (test.TestChessPosition) Test white_is_winning. ---------------------------------------------------------------------- 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 solution.ChessException: kings ---------------------------------------------------------------------- Ran 17 tests in 0.168s FAILED (errors=6)
История (3 версии и 7 коментара)
Стоян обнови решението на 29.11.2022 00:57 (преди почти 2 години)
Можеш да минеш и само с един pass
в тялото на класа, защото този инициализатор реално не прави нищо.
get
може да върне нула, при липсващ ключ - self.score = sum(map(lambda x: points_per_figure.get(x, 0), self.allowed_figures))
Не слагай долни черти в края не методите си. Това е сигнатура, резервирана за builtin дъндър методите. Ти можеш да слага една или две за твоите методи. В конкретният случай е по-добре 1.
https://fmi.py-bg.net/tips/2
f.islower() or f.isupper()
== f.isalpha()
Моля опитай се да не дефинираш магически числа като тези. Или ги вземи динамично, или ги дефинирай в константи, които подсказват смисъла зад тях.
Това намирам за излишно. Можеш да приложиш същите методи и върху стринг, не е нужно да е списък.
По-добре да се направи с 'p' in first_row_figures
, за да избегнеш антипатърна except-pass.