Size: 2084
Comment:
|
← Revision 8 as of 2020-11-17 18:37:32 ⇥
Size: 2165
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 13: | Line 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