Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Simple Areas solution in Clear category for Simple Areas by colinmcnicholl
import math
def simple_areas(*args):
num_args = len(list(args))
if num_args == 1:
area_circle = ( math.pi * args[0]**2 ) / 4.0
return area_circle
elif num_args == 2:
area_rectangle = args[0] * args[1]
return area_rectangle
else:
# calculate area of triangle using Heron's formula.
perimeter = sum(args) / 2.0
side1, side2, side3 = args[0], args[1], args[2]
area_triangle = math.sqrt(perimeter*(perimeter - side1)*(perimeter - side2)*(perimeter - side3))
return area_triangle
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
def almost_equal(checked, correct, significant_digits=2):
precision = 0.1 ** significant_digits
return correct - precision < checked < correct + precision
assert almost_equal(simple_areas(3), 7.07), "Circle"
assert almost_equal(simple_areas(2, 2), 4), "Square"
assert almost_equal(simple_areas(2, 3), 6), "Rectangle"
assert almost_equal(simple_areas(3, 5, 4), 6), "Triangle"
assert almost_equal(simple_areas(1.5, 2.5, 2), 1.5), "Small triangle"
April 19, 2018