+21
python/assignments/sep30/triangleArea.py
+21
python/assignments/sep30/triangleArea.py
···
···
1
+
import math
2
+
def almostEqual(x, y):
3
+
return (abs(x - y) < 10**-9)
4
+
5
+
def triangleArea(a, b, c):
6
+
semiperimeter = .5 * (a + b + c)
7
+
return math.sqrt(semiperimeter * (semiperimeter - a) * (semiperimeter - b) * (semiperimeter - c))
8
+
9
+
10
+
print('Testing triangleArea()...', end='')
11
+
assert(almostEqual(triangleArea(3, 4, 5), 6))
12
+
assert(almostEqual(triangleArea(15, 9, 12), 54))
13
+
assert(almostEqual(triangleArea(7, 25, 24), 84))
14
+
assert(almostEqual(triangleArea(8, 15, 17), 60))
15
+
assert(almostEqual(triangleArea(0, 0, 0), 0))
16
+
assert(almostEqual(triangleArea(1, 1, 1), math.sqrt(3)/4))
17
+
assert(almostEqual(triangleArea(5, 5, 5), 25*math.sqrt(3)/4))
18
+
assert(almostEqual(triangleArea(12, 12, 12), 144*math.sqrt(3)/4))
19
+
assert(almostEqual(triangleArea(7, 12, 18), math.sqrt(11063)/4))
20
+
assert(almostEqual(triangleArea(9.1, 11.7, 3), 7*math.sqrt(3026)/50))
21
+
print('Passed!')