Решение на Шахматни фенове от Йолина Вълчева
Обратно към всички решения
Към профила на Йолина Вълчева
Резултати
- 6 точки от тестове
- 0 бонус точки
- 6 точки общо
- 11 успешни тест(а)
- 6 неуспешни тест(а)
Код
Лог от изпълнението
.EE...EE.E.E.....
======================================================================
ERROR: test_against_touching_kings (test.TestChessPosition)
Test for kings next to each other.
----------------------------------------------------------------------
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
Exception: No exception raised on: k7/K7/8/8/8/8/8/8
======================================================================
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
AttributeError: 'function' object has no attribute '_score'
======================================================================
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
Exception: Incorrect result for 8/8/8/k7/7K/8/8/8
======================================================================
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
Exception: No exception raised on: 8/8/8/8/8/8/8/8
======================================================================
ERROR: test_pawns_position (test.TestChessPosition)
Test for incorrect pawns.
----------------------------------------------------------------------
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
Exception: No exception raised on: p7/8/k7/8/7K/8/8/8
======================================================================
ERROR: test_validation_conflict (test.TestChessPosition)
Test for correct Exception on multiple validation fails.
----------------------------------------------------------------------
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
Exception: No exception raised on: P7/K7/k7/8/8/8/8/8
----------------------------------------------------------------------
Ran 17 tests in 0.165s
FAILED (errors=6)
История (1 версия и 7 коментара)
Йолина обнови решението на 29.11.2022 12:54 (преди около 2 години)
Можеш да минеш и само с един
pass
в тялото на класа, защото този инициализатор реално не прави нищо.Моля оставяй само по един празен ред между методите на класа.
Ако ключовете в речника ти са само с една бука, пак би могла да постигнеш същия резултат, но без излишни дублирания на
lower
иupper
. Останалата част от кода може да подлежи на леки модификации, но все пак ще е по-добре.Лош начин за справяне с грешка. Просто я скриваш и принтираш. Ако не я хванеш, тя пак ще се принтира, но дори друг код да използва класа ти, ще се манифестира, а няма да остане скрита.
Не разбирам защо имаш това условие. не би трябвало да имаш празни итнервали в стринга. Това би било невалиден инпут, с който няма да тестваме.
Моля използвай
snake_case
за имена на методите си. Освен това мисля, че една долна черта е достатъчна. Повече по темата: https://fmi.py-bg.net/tips/2Доста методи използват едно и също обхождане на fen-а. Ако предварително го парснеш в друг вид данни - по-удобни за работа, ще си спестиш дублирането на код.