superdima05 / mesh

Решает тесты с МЭШ.
https://t.me/CDSansbot
GNU General Public License v3.0
22 stars 8 forks source link

Краши при решении некоторых тестов. #21

Closed mishailovic closed 2 years ago

mishailovic commented 2 years ago

1) https://uchebnik.mos.ru/exam/test/test_by_binding/15620170/homework/151260635/

Ошибка: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/hotaru/mesh/mesh.py", line 155, in get_answers statement += generate_string(string_chunk) File "/home/hotaru/mesh/mesh.py", line 119, in generate_string return text.format(*options) KeyError: ' 5; —3; z '

2) https://uchebnik.mos.ru/exam/test/test_by_binding/15472188/homework/150366233

Ошибка: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/hotaru/mesh/mesh.py", line 155, in get_answers statement += generate_string(string_chunk) TypeError: can only concatenate str (not "NoneType") to str

ghost commented 2 years ago

Сделано!

mishailovic commented 2 years ago

Сделано!

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/hotaru/mesh/mesh.py", line 306, in get_answers
    answer_dict [index] = cell_names [index] | answer_cells [index]
TypeError: unsupported operand type(s) for |: 'dict' and 'dict'
mishailovic commented 2 years ago

Как насчёт ловить ошибки в каждом типе задания, и возвращать ошибку в самом задании, вместо фатального краша всей библиотеки?

ghost commented 2 years ago

Как насчёт ловить ошибки в каждом типе задания, и возвращать ошибку в самом задании, вместо фатального краша всей библиотеки? Да, можно! Да вот код в последнее время превращается в кучу спагетти. Скоро планирую все переписать, тогда, возможно, и добавлю этот фунционал.

И еще такой вопрос. У вас какая версия Python стоит?

mishailovic commented 2 years ago

Да, я бы вынес каждый вид задания в отдельный файл, и использовал их как модули. Насчёт питона - уже понял что это функции из новой версии, а из репозиториев Ubuntu последний python3 версии 3.8