Различия между версиями 3 и 8 (по 5 версиям)
Версия 3 от 2020-11-12 00:14:04
Размер: 1643
Редактор: FrBrGeorge
Комментарий:
Версия 8 от 2020-11-17 21:37:32
Размер: 2165
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 3: Строка 3:
Реализовать класс `SubString`, который бы полностью воспроизводил поведение `str`, но вдобавок бы поддерживал операцию вычитания строк. Вычитание устроено так: «уменьшаемое» просматривается посимвольно, и если соответствующий символ присутствует в «вычитаемом», то он однократно удаляется из обеих строк.
  * К моменту прохождения теста ничего ''нового'', кроме класса `SubString` в глобальном пространстве имён быть не должно
Реализовать класс `SubString`, который бы полностью воспроизводил поведение `str`, но вдобавок бы поддерживал операцию вычитания строк. Вычитание устроено так: «уменьшаемое» просматривается посимвольно, и если соответствующий символ присутствует в «вычитаемом», то он однократно удаляется из обеих строк. Исходные объекты не меняются; то, что осталось от уменьшаемого, объявляется результатом вычитания.
 * К моменту прохождения теста ничего ''нового'', кроме класса `SubString` в глобальном пространстве имён быть не должно
Строка 10: Строка 10:
 * Подсказка 1: унаследоваться от `str` можно, но (кажется), так задачу решить нельзя, ищите дальше  * Подсказка 1: Работа по унаследованию `str` и преобразованию типов во всех его методах ''уже частично проделана'' в стандартной библиотеке Python. Ищите! Тесты будут рассчитаны именно на этот вариант решения (плюс, конечно, вычитание).
Строка 12: Строка 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


CategoryHomework

LecturesCMC/PythonIntro2020/Homework_SubString (последним исправлял пользователь FrBrGeorge 2020-11-17 21:37:32)