CMU Coding Bootcamp
1def isLegalTriangle(s1: float, s2: float, s3: float) -> bool:
2 """Return True if s1, s2, and s3 can form a legal triangle, False otherwise."""
3 return s1 + s2 > s3 and s2 + s3 > s1 and s3 + s1 > s2
4
5
6def getTriangleType(a: float, b: float, c: float) -> str:
7 """Return the type of triangle formed by sides a, b, and c."""
8 if not isLegalTriangle(a, b, c):
9 return "illegal"
10 if a == b and b == c:
11 return "equilateral"
12 elif a == b or b == c or c == a:
13 return "isosceles"
14 else:
15 return "scalene"
16
17
18print("Testing getTriangleType()...", end="")
19assert getTriangleType(5, 6, 7) == "scalene"
20assert getTriangleType(7, 5, 6) == "scalene"
21assert getTriangleType(6, 5, 5) == "isosceles"
22assert getTriangleType(5, 6, 5) == "isosceles"
23assert getTriangleType(5, 5, 6) == "isosceles"
24assert getTriangleType(7, 7, 7) == "equilateral"
25assert getTriangleType(1, 2, 3) == "illegal"
26print("Passed!")