"""
0° → North
45° → North-East
90° → East
135° → South-East
180° → South
225° → South-West
270° → West
315° → North-West
"""
import math
def degrees_to_direction(degrees: float) -> str:
# Normalize degrees to [0, 360)
degrees = math.fmod(degrees + 360, 360)
# Define compass directions
directions = [
"North", "North-East", "East", "South-East",
"South", "South-West", "West", "North-West"
]
# Each direction covers 45 degrees
index = int((degrees + 22.5) / 45) % 8
# Alternative: index = int((degrees / 45) + 0.5) % 8
return directions[index]
if __name__ == "__main__":
degrees = 120
print(f"For {degrees} degrees, Compass direction: {degrees_to_direction(degrees)}")
'''
run:
For 120 degrees, Compass direction: South-East
'''