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