fork download
  1. class Rect():
  2. def __init__(self, w, h):
  3. self.w = w
  4. self.h = h
  5.  
  6. def calcArea(self):
  7. return self.w * self.h
  8.  
  9. class Circle():
  10. def __init__(self, r):
  11. self.r = r
  12.  
  13. def calcArea(self):
  14. return self.r * self.r * 3.14
  15.  
  16.  
  17. class AreaCalc:
  18. def __init__(self, shapes):
  19. self.shapes = shapes
  20. self.outputer = AreaOutput()
  21. self.sumArea()
  22.  
  23. def sumArea(self):
  24. self.sum_ = sum([area.calcArea() for area in self.shapes])
  25.  
  26. def output(self, type):
  27. if type == 'sum':
  28. self.outputer.outputSum(self.sum_)
  29. else:
  30. self.outputer.outputSumRound(self.sum_)
  31.  
  32. class AreaOutput:
  33. def outputSum(self, sum_):
  34. print(sum_)
  35.  
  36. def outputSumRound(self, sum):
  37. print(round(sum))
  38.  
  39. circle = Circle(2)
  40. rect = Rect(4, 2)
  41. areaCalc = AreaCalc([circle, rect])
  42. areaCalc.output('sum')
  43. areaCalc.output('sumRound')
  44.  
  45.  
Success #stdin #stdout 0.01s 27712KB
stdin
Standard input is empty
stdout
20.560000000000002
21