Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Создать класс Money для работы с денежными суммами. Число должно быть представлено двумя полями:
- #типа long int для рублей и типа int – для копеек. Дробная часть (копейки) при выводе на экран должна
- #быть отделена от целой части запятой.
- import math
- class RuMoney():
- __ruble = None
- __kopeck = None
- def __init__ (self, ruble, kopeck) :
- self.__ruble = ruble + kopeck // 100
- self.__kopeck = kopeck % 100
- pass
- def __del__ (self) :
- print("Ты банкрот!")
- pass
- def getRuble(self) :
- return __ruble
- def getKopeck(self) :
- return __kopeck
- def makeToKopeck(self) :
- return self.__kopeck + self.__ruble * 100
- def makeToNormal(self, kop) :
- self.__ruble = kop // 100
- self.__kopeck = math.fabs(kop % 100)
- return self
- # self < other
- def __lt__ (self, other) :
- if self.__ruble < other.getRuble() :
- return True
- elif self.__ruble == other.getRuble() :
- if self.__kopeck < other.getKopeck() :
- return True
- return False
- # self == other
- def __eq__ (self, other) :
- if self.__ruble == other.getRuble() :
- if self.__kopeck == other.getKopeck() :
- return True
- else :
- return False
- # self > other
- def __gt__ (self, other) :
- if self.__ruble > other.getRuble() :
- return True
- elif self.__ruble == other.getRuble() :
- if self.__kopeck > other.getKopeck() :
- 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:Money
- def __truediv__ (self, other:RuMoney) :
- kop = self.makeToKopeck()
- kop_2 = other.makeToKopeck()
- # Дробного кол-ва копеек быть не может
- if 0 != kop % kop_2:
- kop //= kop_2
- kop += 1
- else :
- kop /= 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
- 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}/n")
- pass
- if __name__ == "__main__" :
- a = int(input())
- b = int(input())
- ruble = RuMoney(a, b)
- ruble.output()
- a2 = int(input())
- b2 = int(input())
- ruble = ruble + RuMoney(a2,b2)
- ruble.output()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement