Перейти к основному содержанию
EDU-MMCS
  • В начало
  • Дополнительно
Вы используете гостевой доступ
Вход
В начало
  1. Prog_2
  2. Контрольная работа

Контрольная работа

Требуемые условия завершения
Открыто с: среда, 18 декабря 2024, 00:00
Срок сдачи: среда, 18 декабря 2024, 09:40

  1. Напишите функцию, которая принимает строку и возвращает список всех подстрок, которые являются палиндромами.
  2. Добавьте в класс Book метод discount, который уменьшает цену книги на заданный процент. Переопределите этот метод в классе Fiction, чтобы скидка была фиксированной (например, 20%).
  3. Расширьте модель книжного магазина, добавив класс ElBook, который наследуется от Book, но имеет дополнительный атрибут file_size (размер файла). Реализуйте метод download_speed, который рассчитывает время скачивания книги при заданной скорости интернета.
  4. Напишите класс Car с атрибутами brand и speed, и методом drive. Создайте подклассы ElectricCar и GasCar, которые добавляют атрибуты battery и fuel, а также изменяют метод drive для вывода дополнительных данных.
  5. Напишите функцию, которая принимает строку и с помощью стека удаляет все дубликаты подряд идущих символов (например, "aaabccddd" → "abd").
  6. Напишите функцию longest_word(s), которая принимает строку s и возвращает самое длинное слово из строки. Если таких слов несколько, вернуть первое.
  7. Напишите функцию, которая принимает строку и возвращает множество всех гласных букв, встречающихся в строке.

Вариант 2
1. Напишите функцию, которая принимает строку и возвращает список всех подстрок, которые представляют собой анаграммы.
2. В классе `Book` добавьте метод `apply_discount`, который уменьшает цену книги на указанный фиксированный размер (например, 5 единиц). Переопределите этот метод в классе `Fiction`, чтобы скидка зависела от жанра книги и была, например, 10 единиц.
 3.  Расширьте модель книжного магазина, добавив класс `AudioBook`, который наследуется от `Book` и имеет дополнительный атрибут `duration` (длительность аудиокниги). Реализуйте метод `play_time`, который предоставляет информацию о времени воспроизведения книги в зависимости от скорости чтения.
 4.  Напишите класс `Vehicle` с атрибутами `brand` и `model`, а также методом `start`. Создайте подклассы `Bicycle` и `Motorcycle`, которые добавляют атрибуты `gear_count` и `engine_power` соответственно, а также изменяют метод `start` для вывода дополнительных данных о транспортном средстве.
 5. Напишите функцию, которая принимает строку и с помощью очереди удаляет все дубликаты символов, которые следуют за последующим разом (например, "abbccee" становится "abcde").
 6.  Напишите функцию, которая принимает строку `s` и возвращает самую длинную подстроку, состоящую только из уникальных символов (без повторений). Если таких подстрок несколько, вернуть первую.
 7. Напишите функцию, которая принимает строку и возвращает множество всех согласных букв, встречающихся в строке. 


Служба поддержки сайта
Вы используете гостевой доступ (Вход)
Сводка хранения данных
Скачать мобильное приложение Яндекс.Метрика
На платформе Moodle