Een klassieke kompasroos wordt onderverdeeld in 360°. De vier hoofdwindrichtingen staan op de hoofdassen, en worden respectievelijk noord, oost, zuid en west genoemd (zie figuur).

kompasroos
Kompasroos met verdeling in graden en mil1 (binnenste schaal).

Deze hoofdwindrichtingen beslaan gebieden van ±45° rond de hoofdassen (zie tabel). Ze worden simpelweg gebruikt om overal ter wereld een welbepaalde richting aan te geven. Noord en zuid zijn gericht naar hun respectievelijke polen nabij elk uiteinde van de aardas. De rotatie van de aarde rond die as wordt gebruikt om de richtingen oost en west te definiëren.

richting gebied
noord [0°,45°[ en [315°,360°[
oost [45°,135°[
zuid [135°,225°[
west [225°,315°[

Opgave

Definieer een klasse Kompas waarmee instanties van kompassen kunnen aangemaakt worden. De naald van een kompas geeft telkens een hoek $$h \in {\mathbb{Z}}$$ (uitgedrukt in graden) aan, waarbij geldt dat $$0 \leq h < 360$$. De objecten van de klasse Kompas moeten ondersteuning bieden aan de volgende methoden:

Voorbeeld

>>> kompas = Kompas()
>>> kompas
Kompas(0)
>>> kompas.windrichting()
'noord'
>>> print(kompas)
0° (noord)

>>> kompas.draai(222)
>>> kompas
Kompas(222)
>>> kompas.windrichting()
'zuid'
>>> print(kompas)
222° (zuid)

>>> kompas.draai(157)
>>> kompas
Kompas(19)
>>> kompas.windrichting()
'noord'
>>> print(kompas)
19° (noord)