🛠️ToolsShed

Age on Other Planets

Calculate how old you would be on each planet in the solar system based on their orbital periods.

Frequently Asked Questions

Code Implementation

from datetime import date

ORBITAL_PERIODS = {
    "Mercury": 0.2408467,
    "Venus": 0.6151972,
    "Earth": 1.0,
    "Mars": 1.8808158,
    "Jupiter": 11.862615,
    "Saturn": 29.447498,
    "Uranus": 84.016846,
    "Neptune": 164.79132,
}

def age_on_planets(birth_date: date, ref_date: date | None = None) -> dict:
    if ref_date is None:
        ref_date = date.today()
    earth_years = (ref_date - birth_date).days / 365.25
    return {
        planet: round(earth_years / period, 2)
        for planet, period in ORBITAL_PERIODS.items()
    }

birth = date(1990, 6, 15)
ages = age_on_planets(birth)
for planet, age in ages.items():
    print(f"{planet:8s}: {age:8.2f} years")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.