Решение на Шахматни фенове от Виктор Христов
Резултати
- 6 точки от тестове
- 0 бонус точки
- 6 точки общо
- 11 успешни тест(а)
- 6 неуспешни тест(а)
Код
Лог от изпълнението
..EEE.EE....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 KeyError: ' ' ====================================================================== 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 KeyError: ' ' ====================================================================== 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 KeyError: ' ' ====================================================================== 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 KeyError: ' ' ====================================================================== ERROR: test_king_count (test.TestChessPosition) Test for missing or multiple kings. ---------------------------------------------------------------------- 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 TypeError: cannot unpack non-iterable NoneType object ====================================================================== 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 KeyError: ' ' ---------------------------------------------------------------------- Ran 17 tests in 0.163s FAILED (errors=6)
История (7 версии и 6 коментара)
Виктор обнови решението на 27.11.2022 20:36 (преди почти 2 години)
Виктор обнови решението на 27.11.2022 20:39 (преди почти 2 години)
Виктор обнови решението на 27.11.2022 20:47 (преди почти 2 години)
Виктор обнови решението на 27.11.2022 20:55 (преди почти 2 години)
Виктор обнови решението на 27.11.2022 20:57 (преди почти 2 години)
chr(number + ord('0'))
е същото като str(number)
Това ми се струва, че е случаят с липсващи царе. Подвеждащо е да е тук, защото методът ти има друго име. Ако преди да извикаш това, си се подсигурил, че имаш точно по един цар, тези редове става излишни.
Тук би могъл да приложиш малко str.lower
, за да не дубливаш и малки, и големи букви.
'p' in map(str.lower, self.board[0] + self.board[7])
или нещо такова.
self.board
не е ли обект от твоя клас? Не виждам как ще итерираш в него без допълнителни спелове.
В нормални обстоятелства не би трябвало да ти се налага да използваш дъндъри по този начин. Освен това не спестяваш много. Бих го написал:
all_figures = list(filter(lambda x: x not in figures + [' '], all_figures))
Това трябва да се погрижи и за двата ти филтъра.
Не разбирам защо си решил, че е по-добре да подаваш излишните, а не търсените символи. Сигурно има някаква логика, но според мен това отрицание е просто допълнително ниво на затруднение.