Size: 1903
Comment:
|
Size: 2084
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
Реализовать класс `SubString`, который бы полностью воспроизводил поведение `str`, но вдобавок бы поддерживал операцию вычитания строк. Вычитание устроено так: «уменьшаемое» просматривается посимвольно, и если соответствующий символ присутствует в «вычитаемом», то он однократно удаляется из обеих строк. | Реализовать класс `SubString`, который бы полностью воспроизводил поведение `str`, но вдобавок бы поддерживал операцию вычитания строк. Вычитание устроено так: «уменьшаемое» просматривается посимвольно, и если соответствующий символ присутствует в «вычитаемом», то он однократно удаляется из обеих строк. Исходные объекты не меняются; то, что осталось от уменьшаемого объявляется результатом вычитания. |
Реализовать класс SubString, который бы полностью воспроизводил поведение str, но вдобавок бы поддерживал операцию вычитания строк. Вычитание устроено так: «уменьшаемое» просматривается посимвольно, и если соответствующий символ присутствует в «вычитаемом», то он однократно удаляется из обеих строк. Исходные объекты не меняются; то, что осталось от уменьшаемого объявляется результатом вычитания.
К моменту прохождения теста ничего нового, кроме класса SubString в глобальном пространстве имён быть не должно
1 print(SubString("qwertyerty")-SubString("ttttr"))
Подсказка 1: Работа по унаследованию str и преобразованию типов во всех его методах уже частично проделана в стандартной библиотеке Python. Ищите! Тесты будут рассчитаны именно на этот вариант решения (плюс, конечно, вычитание).
Подсказка 2: операции вида строка1+=строка2 и всякие манипуляции с секциями строк могут оказаться слишком тяжелыми для тестов (но это неточно)
Подсказка от К. О.: Есть такой оператор — «del»…
Спойлер:
qweyery