Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,959 questions

51,901 answers

573 users

How to convert a degree to a compass direction in Python

1 Answer

0 votes
"""
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

'''

 



answered Nov 24, 2025 by avibootz
edited Nov 24, 2025 by avibootz
...