Задачи
Задача 1
Напишите класс LittleBell
, который при вызове метода sound печатает слово " ding ".
Пример 1
Ввод
Вывод
Пример 2
Ввод
Вывод
Задача 2
Напишите класс кнопки Button
, экземпляры которого будут измерять количество нажатий на кнопку-объект.
Метод click
увеличивает количество нажатий, метод click_count
возвращает число нажатий. Метод reset
обнуляет количество нажатий.
Пример 1
Ввод
Вывод
Пример 2
Ввод
Вывод
Пример 3
Ввод
Вывод
Задача 3
Напишите класс Balance
для описания весов с двумя чашами. На левую и правую чашу объекта будут добавляться грузы с различным весом, ваша задача определить положение чаш. Метод add_right
принимает целое число — вес, положенный на правую чашу весов, add_left
— на левую чашу. Метод result
должен возвращать символ =, если вес на чашах одинаковый, R — если перевесила правая, L — если перевесила левая.
Пример 1
Ввод
Вывод
Пример 2
Ввод
Вывод
Задача 4
Напишите класс OddEvenSeparator
, в который можно добавлять числа, получая потом отдельно чётные и нечётные. Числа добавляются в объект с помощью метода add_number
. Методы even
и odd
должны возвращать списки чётных и нечётных чисел соответственно. Числа в списке должны идти в том же порядке, что и при добавлении в объект.
Пример 1
Ввод
Вывод
Задача 5
Напишите класс BigBell
, который при вызове метода sound печатает попеременно слова ding и dong, начиная c ding.
Пример 1
Ввод
Вывод
Задача 6
Напишите класс MinMaxWordFinder
. Класс должен уметь анализировать текст и находить в нём слова наименьшей и наибольшей длины. Текст состоит из предложений, которые добавляются в обработку методом add_sentence
. Метод shortest_words
возвращает список самых коротких на данный момент слов, метод longest_words
— самых длинных. Слова, возвращаемые методами shortest_words
и longest_words
, должны быть отсортированы по алфавиту. Если одно из самых коротких слов встретилось в исходных предложениях несколько раз, оно должно столько же раз повториться в списке самых коротких слов. Самые длинные слова наоборот должны входить в список без повторов.
Пример 1
Ввод
Вывод
Пример 2
Ввод
Вывод
Пример 3
Ввод
Вывод
Задача 7
Создайте класс BoundingRectangle
, который обрабатывает точки на плоскости и строит по ним прямоугольник минимального размера, в который входят все эти точки. Если точка лежит на границе прямоугольника, считается, что она в него входит. Нужно определить следующие методы (rect
– экземпляр BoundingRectangle
):
rect.add_point(x, y)
— добавить новую точку.rect.width()
— ширина прямоугольника.rect.height()
— высота прямоугольника.rect.bottom_y()
— Y-координата нижней границы прямоугольника.rect.top_y()
— Y-координата верхней границы прямоугольника.rect.left_x()
— X-координата левой границы прямоугольника.rect.right_x()
— X-координата правой границы прямоугольника.
Гарантируется, что хотя бы одна точка будет добавлена в экземпляр до вызова методов, возвращающих описание прямоугольника.
Пример 1
Ввод
Вывод
Пример 2
Ввод
Вывод
Пример 3
Ввод
Вывод