2084
Комментарий:
|
← Версия 8 от 2020-11-17 21:37:32 ⇥
2165
|
Удаления помечены так. | Добавления помечены так. |
Строка 13: | Строка 13: |
* Спойлер: /* (1) использование collections.Counter '''очень''' помогает упростить жизнь, и (2) рядом поищите :); {{attachment:snap-current.png}} */ | * Спойлер: /* (1) использование collections.Counter '''очень''' помогает упростить жизнь, и (2) унаследовать от `str` — плохая идея, лучше тут рядом поищите :); {{attachment:snap-current.png}} */ |
Реализовать класс SubString, который бы полностью воспроизводил поведение str, но вдобавок бы поддерживал операцию вычитания строк. Вычитание устроено так: «уменьшаемое» просматривается посимвольно, и если соответствующий символ присутствует в «вычитаемом», то он однократно удаляется из обеих строк. Исходные объекты не меняются; то, что осталось от уменьшаемого, объявляется результатом вычитания.
К моменту прохождения теста ничего нового, кроме класса SubString в глобальном пространстве имён быть не должно
1 print(SubString("qwertyerty")-SubString("ttttr"))
Подсказка 1: Работа по унаследованию str и преобразованию типов во всех его методах уже частично проделана в стандартной библиотеке Python. Ищите! Тесты будут рассчитаны именно на этот вариант решения (плюс, конечно, вычитание).
Подсказка 2: операции вида строка1+=строка2 и всякие манипуляции с секциями строк могут оказаться слишком тяжелыми для тестов (но это неточно)
Подсказка от К. О.: Есть такой оператор — «del»…
Спойлер:
qweyery