PY: Added PlanetOrbitalPeriod function.

This commit is contained in:
Don Cross
2022-11-01 17:30:48 -04:00
parent fd49c25ae3
commit 23fd95a53f
5 changed files with 66 additions and 13 deletions

View File

@@ -420,6 +420,23 @@ class NoConvergeError(Error):
def __init__(self):
Error.__init__(self, 'Numeric solver did not converge - please report issue at https://github.com/cosinekitty/astronomy/issues')
def PlanetOrbitalPeriod(body):
"""Returns the average number of days it takes for a planet to orbit the Sun.
Parameters
----------
body : Body
One of the planets: Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune, or Pluto.
Returns
-------
float
The mean orbital period of the body in days.
"""
if isinstance(body, Body) and (0 <= body.value < len(_PlanetOrbitalPeriod)):
return _PlanetOrbitalPeriod[body.value]
raise InvalidBodyError()
def _SynodicPeriod(body):
if body == Body.Earth:
raise EarthNotAllowedError()