Skip to content

Instantly share code, notes, and snippets.

@orjanv
Last active December 18, 2023 20:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save orjanv/beb6aed423f6f8d73779126b7558f866 to your computer and use it in GitHub Desktop.
Save orjanv/beb6aed423f6f8d73779126b7558f866 to your computer and use it in GitHub Desktop.
En reise ut i solsystemet
'''
Det kan gjøres automatiske oppslag mot JPL for å hente oppdatert informasjon
om avstand til planeter på https://ssd-api.jpl.nasa.gov/doc/horizons.html
'''
# Noen definisjoner først, bruker dictionary
reisemål = {'Månen': 384400, 'Mars': 368240000, 'Jupiter':643522000, 'Saturn':1512051000}
romfartøy = {'Apollo':39900,'Dragon':28000,'Chang':39900}
# Nå skal det velges reisemål
print("Du skal ut på reise i solsystemet. Du kan velge mellom:\n")
for mål, avstand in reisemål.items():
print(f"\t{mål}, {avstand} km unna")
while True:
reise = input("\nHvor vil du reise? ").capitalize()
if reise in reisemål:
km = reisemål.get(reise)
break
else:
print("Du må velge ett av alternativene.")
continue
print(f"\nDu valgte {reise}, et godt valg og bare {km} km unna jorden!")
# Så skal romfartøy velges
print("\nHvilket romfartøy vil du reise med. Du kan velge mellom:\n")
for fartøy, fart in romfartøy.items():
print(f"\t{fartøy}, {fart} km/t")
while True:
romskip = input("\nHva velger du? ").capitalize()
if romskip in romfartøy:
hastighet = romfartøy.get(romskip)
break
else:
print("Du må velge ett av alternativene.")
continue
print(f"\nDu valgte {romskip}, et godt valg av fartøy som kan reise i {hastighet} km/t.")
# Vi finner ut hvor lang tid det tar å reise til reisemålet med romfartøyet
reisetimer = round(km / hastighet)
if reisetimer < 100:
print(f"Estimert reisetid er omtrent {reisetimer} timer.")
elif 100 < reisetimer < 1000:
dager = round(reisetimer/24)
print(f"Estimert reisetid er omtrent {dager} dager.")
else:
år = round(reisetimer/8760,1)
print(f"Estimert reisetid er omtrent {år} år.")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment