From cb22f38d1ddc263ba3347d0e1b40a7a84dbbbac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Geoffrey=20=E2=80=9CFrogeye=E2=80=9D=20Preud=27homme?= Date: Sun, 17 Dec 2023 15:10:13 +0100 Subject: [PATCH] changes from curacao on Sun Dec 17 03:10:13 PM CET 2023 --- hm/scripts/ter | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/hm/scripts/ter b/hm/scripts/ter index 01fbc3b..9fe1f59 100755 --- a/hm/scripts/ter +++ b/hm/scripts/ter @@ -2,6 +2,8 @@ #! nix-shell -i python3 --pure #! nix-shell -p python3 +# vim: set filetype=python : + import sys from math import inf @@ -14,11 +16,11 @@ if N < 2: sys.exit(1) -def trajet_str(a, b): +def trajet_str(a: int, b: int) -> str: return f"{gares[a]} → {gares[b]}" -def chemin_str(stack): +def chemin_str(stack: list[int]) -> str: return ", ".join( [trajet_str(stack[i], stack[i + 1]) for i in range(len(stack) - 1)] ) @@ -26,7 +28,7 @@ def chemin_str(stack): # Demande des prix des trajets -prices = dict() +prices: dict[int, dict[int, float]] = dict() for i in range(N): for j in range(N - 1, i, -1): @@ -50,7 +52,7 @@ maxiPrice = -inf maxiStack = None -def register_path(stack): +def register_path(stack: list[int]) -> None: price = sum([prices[stack[i]][stack[i + 1]] for i in range(len(stack) - 1)]) global miniPrice, maxiPrice, miniStack, maxiStack @@ -72,5 +74,7 @@ while stack[0] == 0: else: stack.append(stack[-1] + 1) +assert miniStack +assert maxiStack print(f"Prix minimum: {chemin_str(miniStack)} = {miniPrice:.2f} €") print(f"Prix maximum: {chemin_str(maxiStack)} = {maxiPrice:.2f} €")