class Rect():
def __init__(self, w, h):
self.w = w
self.h = h
def calcArea(self):
return self.w * self.h
class Circle():
def __init__(self, r):
self.r = r
def calcArea(self):
return self.r * self.r * 3.14
class AreaCalc:
def __init__(self, shapes):
self.shapes = shapes
def sumArea(self):
return sum([area.calcArea() for area in self.shapes])
class AreaOutput:
def __init__(self, sum):
self.sum = sum
def outputSum(self):
print(self.sum)
def outputSumRound(self):
print(round(self.sum))
circle = Circle(2)
rect = Rect(4, 2)
areaCalc = AreaCalc([circle, rect])
sum = areaCalc.sumArea()
AreaOutput(sum).outputSum()
AreaOutput(sum).outputSumRound()
Y2xhc3MgUmVjdCgpOgogICAgZGVmIF9faW5pdF9fKHNlbGYsIHcsIGgpOgogICAgICAgIHNlbGYudyA9IHcKICAgICAgICBzZWxmLmggPSBoCgogICAgZGVmIGNhbGNBcmVhKHNlbGYpOgogICAgICAgIHJldHVybiBzZWxmLncgKiBzZWxmLmggIAoKY2xhc3MgQ2lyY2xlKCk6CiAgICBkZWYgX19pbml0X18oc2VsZiwgcik6CiAgICAgICAgc2VsZi5yID0gcgoKICAgIGRlZiBjYWxjQXJlYShzZWxmKToKICAgICAgICByZXR1cm4gc2VsZi5yICogc2VsZi5yICogMy4xNAoKICAgICAgCmNsYXNzIEFyZWFDYWxjOgogICAgZGVmIF9faW5pdF9fKHNlbGYsIHNoYXBlcyk6CiAgICAgICAgc2VsZi5zaGFwZXMgPSBzaGFwZXMKCiAgICBkZWYgc3VtQXJlYShzZWxmKToKICAgICAgICByZXR1cm4gc3VtKFthcmVhLmNhbGNBcmVhKCkgZm9yIGFyZWEgaW4gc2VsZi5zaGFwZXNdKQoKY2xhc3MgQXJlYU91dHB1dDoKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzdW0pOgogICAgICAgIHNlbGYuc3VtID0gc3VtCgogICAgZGVmIG91dHB1dFN1bShzZWxmKToKICAgICAgICBwcmludChzZWxmLnN1bSkKCiAgICBkZWYgb3V0cHV0U3VtUm91bmQoc2VsZik6CiAgICAgICAgcHJpbnQocm91bmQoc2VsZi5zdW0pKSAgICAgICAgCgpjaXJjbGUgPSBDaXJjbGUoMikKcmVjdCA9IFJlY3QoNCwgMikKYXJlYUNhbGMgPSBBcmVhQ2FsYyhbY2lyY2xlLCByZWN0XSkKc3VtID0gYXJlYUNhbGMuc3VtQXJlYSgpCkFyZWFPdXRwdXQoc3VtKS5vdXRwdXRTdW0oKQpBcmVhT3V0cHV0KHN1bSkub3V0cHV0U3VtUm91bmQoKQ==