CMU Coding Bootcamp
1def almostEqual(x, y):
2 return abs(x - y) < 10**-9
3
4
5def getInRange(x: float, bound1: float, bound2: float) -> float:
6 """Return x if it is between bound1 and bound2, inclusive.
7 Otherwise, return the nearest bound."""
8 lowBound = bound1
9 highBound = bound2
10 if bound2 < bound1:
11 lowBound = bound2
12 highBound = bound1
13 if x < lowBound:
14 return lowBound
15 elif x > highBound:
16 return highBound
17 else:
18 return x
19
20
21print("Testing getInRange()...", end="")
22assert getInRange(1, 3, 5) == 3
23assert getInRange(4, 3, 5) == 4
24assert getInRange(6, 5, 3) == 5
25assert getInRange(5, 5, 3) == 5
26assert getInRange(-1, -3, -5) == -3
27assert getInRange(-4, -5, -3) == -4
28assert getInRange(-6, -6, -3) == -6
29assert almostEqual(getInRange(6.2, 6.3, 6.4), 6.3)
30print("Passed!")