Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
constant table solution in Creative category for Geometry Figures by Sim0000
from math import pi, sqrt
class Parameters:
pcon = {'Circle': 2*pi, 'Triangle': 3, 'Square': 4, 'Pentagon': 5, 'Hexagon': 6, 'Cube': 12}
acon = {'Circle': pi, 'Triangle': sqrt(3)/4, 'Square': 1, 'Pentagon': sqrt(25+10*sqrt(5))/4, 'Hexagon': 3*sqrt(3)/2, 'Cube': 6}
vcon = {'Circle': 0, 'Triangle': 0, 'Square': 0, 'Pentagon': 0, 'Hexagon': 0, 'Cube': 1}
def __init__(self, arg):
self.arg = arg
def choose_figure(self, figure):
self.name = figure.__class__.__name__
def perimeter(self):
return round(self.pcon[self.name] * self.arg, 2)
def area(self):
return round(self.acon[self.name] * self.arg**2, 2)
def volume(self):
return round(self.vcon[self.name] * self.arg**3, 2)
class Circle: pass
class Triangle: pass
class Square: pass
class Pentagon: pass
class Hexagon: pass
class Cube: pass
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
figure = Parameters(10)
figure.choose_figure(Circle())
assert figure.area() == 314.16
figure.choose_figure(Triangle())
assert figure.perimeter() == 30
figure.choose_figure(Square())
assert figure.area() == 100
figure.choose_figure(Pentagon())
assert figure.perimeter() == 50
figure.choose_figure(Hexagon())
assert figure.perimeter() == 60
figure.choose_figure(Cube())
assert figure.volume() == 1000
print("Coding complete? Let's try tests!")
June 23, 2018
Comments: