Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Geometry Figures by rodka81
from math import pi, sqrt
class Parameters:
def __init__(self, p):
self.figure = None
self.p = p
def choose_figure(self, figure):
self.figure = figure
self.figure.p = self.p
def area(self):
return self.figure.area()
def perimeter(self):
return self.figure.perimeter()
def volume(self):
return self.figure.volume()
class Figure:
def __init__(self):
self.p = 0
def area(self):
return 0
def perimeter(self):
return 0
def volume(self):
return 0
class Circle(Figure):
def area(self):
return round(pi*self.p*self.p, 2)
def perimeter(self):
return round(2*pi*self.p, 2)
class Triangle(Figure):
def area(self):
return round(sqrt(3)*self.p*self.p/4, 2)
def perimeter(self):
return round(3*self.p, 2)
class Square(Figure):
def area(self):
return self.p*self.p
def perimeter(self):
return 4*self.p
class Pentagon(Figure):
def area(self):
return round(self.p*self.p*sqrt(5 * (5 + 2 * sqrt(5)))/4, 2)
def perimeter(self):
return 5*self.p
class Hexagon(Figure):
def area(self):
return round(self.p*self.p*3*sqrt(3)/2, 2)
def perimeter(self):
return 6*self.p
class Cube(Square):
def perimeter(self):
return super().perimeter() * 3
def area(self):
return super().area() * 6
def volume(self):
return self.p*self.p*self.p
Sept. 7, 2018