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).
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°[ |
Definieer een klasse Kompas
waarmee instanties van kompassen kunnen aangemaakt worden. De naald van
een kompas geeft telkens een hoek
Een initialisatiemethode waaraan optioneel een hoek
Een methode __repr__ die
een stringvoorstelling van het object teruggeeft, die overeenkomt met de
Python expressie die kan gebruikt worden om eenzelfde object aan te
maken. Hierbij moet de hoek
Een methode __str__ die
een stringvoorstelling van het object teruggeeft in het formaat h° (richting).
Hierbij geeft
Een methode draai
waaraan een hoek
Een methode windrichting die een string teruggeeft die de hoofdwindrichting beschrijft waarnaar het kompas wijst.
>>> 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)