tangled
alpha
login
or
join now
thecoded.prof
/
CMU
0
fork
atom
CMU Coding Bootcamp
0
fork
atom
overview
issues
pulls
pipelines
feat: add another assignment
thecoded.prof
5 months ago
fb1ddfa4
a13423d7
verified
This commit was signed with the committer's
known signature
.
thecoded.prof
SSH Key Fingerprint:
SHA256:ePn0u8NlJyz3J4Zl9MHOYW3f4XKoi5K1I4j53bwpG0U=
+21
1 changed file
expand all
collapse all
unified
split
python
assignments
sep30
triangleArea.py
+21
python/assignments/sep30/triangleArea.py
···
1
1
+
import math
2
2
+
def almostEqual(x, y):
3
3
+
return (abs(x - y) < 10**-9)
4
4
+
5
5
+
def triangleArea(a, b, c):
6
6
+
semiperimeter = .5 * (a + b + c)
7
7
+
return math.sqrt(semiperimeter * (semiperimeter - a) * (semiperimeter - b) * (semiperimeter - c))
8
8
+
9
9
+
10
10
+
print('Testing triangleArea()...', end='')
11
11
+
assert(almostEqual(triangleArea(3, 4, 5), 6))
12
12
+
assert(almostEqual(triangleArea(15, 9, 12), 54))
13
13
+
assert(almostEqual(triangleArea(7, 25, 24), 84))
14
14
+
assert(almostEqual(triangleArea(8, 15, 17), 60))
15
15
+
assert(almostEqual(triangleArea(0, 0, 0), 0))
16
16
+
assert(almostEqual(triangleArea(1, 1, 1), math.sqrt(3)/4))
17
17
+
assert(almostEqual(triangleArea(5, 5, 5), 25*math.sqrt(3)/4))
18
18
+
assert(almostEqual(triangleArea(12, 12, 12), 144*math.sqrt(3)/4))
19
19
+
assert(almostEqual(triangleArea(7, 12, 18), math.sqrt(11063)/4))
20
20
+
assert(almostEqual(triangleArea(9.1, 11.7, 3), 7*math.sqrt(3026)/50))
21
21
+
print('Passed!')