Для студентов МГТУ им. Н.Э.Баумана по предмету ИнформатикаКлассы. КалькуляторКлассы. Калькулятор
2025-01-052025-01-05СтудИзба
Задача: Классы. Калькулятор
Описание
Опишите класс
calc1 = Calculator()
# Вызываем метод sum и div у экземпляра calc1
calc1.sum(5, 10)
calc1.div(10, 3, mod=True)
# Выводим последнюю операцию, выполненную любым экземпляром класса Calculator
print(Calculator.last) # Вывод: div(10, 3) == 1
# Выводим последний и предпоследний элементы истории операций для экземпляра calc1
print(calc1.history(1)) # Вывод: div(10, 3) == 1
print(calc1.history(2)) # Вывод: sum(5, 10) == 15
# Создаем еще один экземпляр класса Calculator
calc2 = Calculator()
calc2.mul(2, 5)
print(Calculator.last) # Вывод: mul(2, 5) == 10
# Очищаем историю всех экземпляров класса Calculator
Calculator.clear()
print(Calculator.last) # Вывод: None
Calculator
, который будет реализовывать следующие методы и поля: sum(self, a, b
) - сложение чисел a и bsub(self, a, b)
- вычитаниеmul(self, a, b)
- умножениеdiv(self, a, b, mod=False)
- деление. Если параметр mod == True, то метод должен возвращать остаток от деления вместо деления. По умолчанию mod=False.history(self, n)
- этот метод должен возвращать строку с операцией по ее номеру относительно текущего момента (1 - последняя, 2 - предпоследняя). Формат вывода:sum(5, 15) == 20
(Не нужно форматировать результат операции)last
- строка того же формата, что в предыдущем пункте, в которой содержится информация о последней операции по всем созданным объектам калькулятора. Т.е. это последняя операция последнего использованного объекта калькулятор. Если операций пока не было, то None.clear(cls)
- метод, который очищает last, т.е. присваивает ему значение None.
Примечание
При выполнении деления с mod сам параметр mod не нужно записывать в лог.Пример использования
# Создаем экземпляр класса Calculatorcalc1 = Calculator()
# Вызываем метод sum и div у экземпляра calc1
calc1.sum(5, 10)
calc1.div(10, 3, mod=True)
# Выводим последнюю операцию, выполненную любым экземпляром класса Calculator
print(Calculator.last) # Вывод: div(10, 3) == 1
# Выводим последний и предпоследний элементы истории операций для экземпляра calc1
print(calc1.history(1)) # Вывод: div(10, 3) == 1
print(calc1.history(2)) # Вывод: sum(5, 10) == 15
# Создаем еще один экземпляр класса Calculator
calc2 = Calculator()
calc2.mul(2, 5)
print(Calculator.last) # Вывод: mul(2, 5) == 10
# Очищаем историю всех экземпляров класса Calculator
Calculator.clear()
print(Calculator.last) # Вывод: None
Характеристики решённой задачи
Предмет
Учебное заведение
Учебная пора
Программы
Просмотров
4
Качество
Идеальное компьютерное
Размер
1,09 Kb
Список файлов
base-5.1.txt

Vladelo