Hallo zusammen
Teil 1 der heutigen Aufgabe habe ich gelöst. Bei Teil 2 blicke ich nicht durch (bekomme einen wert der viel kleiner als 100000000000000
ist.
Obwohl mein Teil 1 (für mich) schön kurz ist, bin ich mir sicher das es noch kürzer geht. Evtl kann ich da dann noch was lernen.
Anbei mal mein Code für Teil 1.
aoc Tag 13 Teil 1 lauffähiger Code
Python
#!/usr/bin/python3
# -*- coding: utf-8 -*-
def liste_einlesen(datei): # einlesen in einem Schritt, Umwandeln danach mit List-Comprehension
with open(datei, "r") as datei:
inhalt = datei.readlines()
return [zeile.rstrip() for zeile in inhalt] # returnwert mit List Comprehension erstellt
def main():
PFAD = "1213.txt"
bus_fahrplan = liste_einlesen((PFAD))
ankunft = int(bus_fahrplan[0])
bus_gesplittet = bus_fahrplan[1].split(",")
rel_eintrag = []
for eintrag in bus_gesplittet:
if eintrag != "x":
rel_eintrag.append(int(eintrag))
naechste_fahrt = {}
for eintrag in rel_eintrag:
naechste_fahrt[eintrag] = (((ankunft+eintrag)//eintrag)*eintrag)-ankunft
key_min_diff = min(naechste_fahrt.keys(), key=(lambda k: naechste_fahrt[k]))
wert_min_dif = naechste_fahrt[key_min_diff]
print(f"Lösungs Teil 1: Der Bus : {key_min_diff} fährt nach einer Wartezeit von :{wert_min_dif} min ab.\n"
f"Die Lösung beträgt: {key_min_diff*wert_min_dif}")
if __name__ == "__main__":
main()
Alles anzeigen
Freundliche Grüsse
Dani