Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- class Money():
- ruble = None
- kopeck = None
- def __init__ (self, ruble, kopeck) :
- self.ruble = ruble + kopeck // 100
- self.kopeck = int(kopeck % 100)
- pass
- def makeToKopeck(self) :
- return self.kopeck + self.ruble * 100
- def makeToNormal(self, kop) :
- self.ruble = int(kop // 100)
- self.kopeck = math.fabs(int(kop % 100))
- return self
- # self < other
- def __lt__ (self, other) :
- if self.ruble < other.ruble :
- return True
- elif self.ruble == other.ruble :
- if self.kopeck < other.kopeck :
- return True
- return False
- # self == other
- def __eq__ (self, other) :
- if self.ruble == other.ruble :
- if self.kopeck == other.kopeck :
- return True
- else :
- return False
- # self > other
- def __gt__ (self, other) :
- if self.ruble > other.ruble :
- return True
- elif self.ruble == other.ruble :
- if self.kopeck > other.kopeck :
- return True
- return False
- # self + other
- def __add__ (self, other) :
- kop_1 = self.makeToKopeck()
- kop_2 = other.makeToKopeck()
- kop = kop_1 + kop_2
- return self.makeToNormal(kop)
- # self - other
- def __sub__ (self, other) :
- kop_1 = self.makeToKopeck()
- kop_2 = other.makeToKopeck()
- kop = kop_1 - kop_2
- return self.makeToNormal(kop)
- # self / other:float
- def __truediv__ (self, other:float) :
- kop = self.makeToKopeck()
- # Дробного кол-ва копеек быть не может
- if 0 != kop % other:
- kop //= other
- kop += 1
- else :
- kop /= other
- return self.makeToNormal(kop)
- # self * other:float
- def __mul__ (self, other:float) :
- kop = self.makeToKopeck()
- kop *= other
- if 0 != kop % 1 :
- kop //= 1
- kop += 1
- return self.makeToNormal(kop)
- def output (self):
- print(f"Сумма: {self.ruble},{self.kopeck}руб")
- pass
- class RuMoney(Money):
- def __init__(self, ruble, kopeck):
- super().__init__(ruble, kopeck)
- pass
- def __del__ (self) :
- print("Счет закрыт, денег больше нет")
- pass
- operation = ("1 - Cравнить суммы", "2 - Сложить суммы", "3 - Вычесть суммы",
- "4 - Разделить суммы", "5 - Разделить на число", "6 - Умножить на число",
- "0 - Завершить")
- if __name__ == "__main__" :
- a = int(input("Сколько рублей? Введите: "))
- b = int(input("Сколько копеек? Введите: "))
- ruble = RuMoney(a, b)
- ruble.output()
- while True:
- print("Выберете операцию: ")
- for i in operation:
- print(i)
- numOfOperation = int(input())
- if numOfOperation == 1 :
- a2 = int(input("Со скольким кол-вом рублей сравнить? Введите: "))
- b2 = int(input("Со скольким кол-вом копеек сравнить? Введите: "))
- print(f"Введенная сумма: {Money(a2,b2).ruble},{Money(a2,b2).kopeck}руб")
- if ruble > Money(a2,b2) :
- print ("Исходная сумма больше!")
- elif ruble < Money(a2,b2) :
- print ("Исходная сумма меньше!")
- else :
- print ("Суммы равны!")
- elif numOfOperation == 2 :
- a2 = int(input("Сколько рублей прибавить? Введите: "))
- b2 = int(input("Сколько копеек прибавить? Введите: "))
- print(f"Введенная сумма: {Money(a2,b2).ruble},{Money(a2,b2).kopeck}руб")
- ruble = ruble + Money(a2,b2)
- ruble.output()
- elif numOfOperation == 3 :
- a2 = int(input("Сколько рублей вычесть? Введите: "))
- b2 = int(input("Сколько копеек вычесть? Введите: "))
- print(f"Введенная сумма: {Money(a2,b2).ruble},{Money(a2,b2).kopeck}руб")
- ruble = ruble - Money(a2,b2)
- ruble.output()
- elif numOfOperation == 4 :
- a2 = int(input("На какое кол-во рублей поделить? Введите: "))
- b2 = int(input("На какое кол-во копеек поделить? Введите: "))
- print(f"Введенная сумма: {Money(a2,b2).ruble},{Money(a2,b2).kopeck}руб")
- tov = ruble.makeToKopeck() / Money(a2,b2).makeToKopeck()
- print (f"Отношение сумм: {round(tov, 4)}")
- elif numOfOperation == 5 :
- a2 = float(input("На какое число поделить? Введите: "))
- ruble = ruble / a2
- ruble.output()
- elif numOfOperation == 6 :
- a2 = float(input("На какое число умножить? Введите: "))
- ruble = ruble * a2
- ruble.output()
- elif numOfOperation == 0 :
- print("Работа завершена!")
- break
- else :
- print("Введите верное число.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement