refactor(nav): extract print_plan()

This commit is contained in:
Lt. Byte 2026-09-17 05:24:00 +02:00
commit 515e055375

15
nav.py
View file

@ -64,6 +64,15 @@ def plan(destination):
return route, total, total / CRUISE_SPEED, fuel return route, total, total / CRUISE_SPEED, fuel
def print_plan(destination):
"""Print the flight plan for a destination."""
route, total, days, fuel = plan(destination)
print("Route: " + " -> ".join(NAMES[w] for w in route))
print(f"Distance: {total:.1f} million km")
print(f"Travel time: {round(days)} days")
print(f"Fuel required: {round(fuel)} t")
def main(): def main():
if sys.argv[1] == "--list": if sys.argv[1] == "--list":
for key in sorted(ROUTES): for key in sorted(ROUTES):
@ -73,11 +82,7 @@ def main():
if destination not in ROUTES: if destination not in ROUTES:
known = ", ".join(sorted(ROUTES)) known = ", ".join(sorted(ROUTES))
sys.exit(f"Unknown destination: {destination} (known: {known})") sys.exit(f"Unknown destination: {destination} (known: {known})")
route, total, days, fuel = plan(destination) print_plan(destination)
print("Route: " + " -> ".join(NAMES[w] for w in route))
print(f"Distance: {total:.1f} million km")
print(f"Travel time: {round(days)} days")
print(f"Fuel required: {round(fuel)} t")
if __name__ == "__main__": if __name__ == "__main__":