Fähre füllen ============ Die Lösung zu Fähre füllen beinhaltet wie gefordert zwei Strategien `strategie_a`, `strategie_b`. Beide Funktionen nehmen eine Liste mit Autolängen als Eingabe und geben ein `dict` mit der Länge und Anzahl aller Autos zurück. Mit `print` wird angegeben, wo die Autos einsortiert werden. Strategie A ----------- Die Fahrzeuge werden möglichst weit links angeordnet. Am effizienten ist das bei einer Folge wie beispielsweise ``` 6, 6, 6, 15, 15, 15, ... ``` da hierbei die meiste Anzahl an Fahrzeugen hineinpasst, verglichen mit B. Strategie B ----------- Die Fahrzeuge werden möglichst gleichmäßig auf die drei Spalten verteilt. Die Folge vom Beispiel in A) würde dazu führen, dass nur 3 Fahrzeuge (`6, 6, 6`) Platz hätten. In dem Beispiel ``` 8, 8, 8, 5, 5, 5, 5, 5, 5, ... ``` werden für A) 8 Fahrzeuge eingeordnet und für B) 9. Beispiele --------- ``` >>> # Optimales Beispiel für A >>> import faehre_fuellen >>> faehre_fuellen.strategie_a([15, 15, 15, 15, 15, 6, 6, 6]) 6 wurde eingeordnet in die Reihe 0 6 wurde eingeordnet in die Reihe 0 6 wurde eingeordnet in die Reihe 0 15 wurde eingeordnet in die Reihe 1 15 wurde eingeordnet in die Reihe 2 Das Fahrzeug 15 hat nicht mehr gepasst {'anzahl': [3, 1, 1], 'länge': [18, 15, 15]} >>> faehre_fuellen.strategie_b([15, 15, 15, 15, 15, 6, 6, 6]) 6 wurde eingeordnet in Reihe 0 6 wurde eingeordnet in Reihe 1 6 wurde eingeordnet in Reihe 2 Das Fahrzeug 15 hat nicht mehr gepasst {'anzahl': [1, 1, 1], 'länge': [6, 6, 6]} >>> >>> # Optimales Beispiel für B >>> faehre_fuellen.strategie_a([5, 5, 5, 5, 5, 5, 5, 8, 8, 8]) ... Das Fahrzeug 5 hat nicht mehr gepasst {'anzahl': [2, 3, 3], 'länge': [16, 18, 15]} >>> faehre_fuellen.strategie_b([5, 5, 5, 5, 5, 5, 5, 8, 8, 8]) ... Das Fahrzeug 5 hat nicht mehr gepasst {'anzahl': [3, 3, 3], 'länge': [18, 18, 18]} >>> >>> >>> # Gegebene Beispiele befinden sich in einer Liste `Beispiel` >>> # (Die Ausgabe ist hier auf das Ergebnis beschränkt) >>> faehre_fuellen.strategie_a(faehre_fuellen.Beispiel[0]) {'anzahl': [3, 3, 1], 'länge': [18.47, 16.09, 9.12]} >>> faehre_fuellen.strategie_b(faehre_fuellen.Beispiel[0]) {'anzahl': [2, 3, 2], 'länge': [15.989999999999998, 19.2, 8.49]} >>> # Beispiel 1: weder A) noch B) ist effizienter (jeweils 7 Fahrzeuge) >>> >>> faehre_fuellen.strategie_a(faehre_fuellen.Beispiel[1]) {'anzahl': [2, 3, 3], 'länge': [19.92, 16.48, 11.69]} >>> faehre_fuellen.strategie_b(faehre_fuellen.Beispiel[1]) {'anzahl': [2, 3, 3], 'länge': [18.69, 18.04, 11.36]} >>> # Beispiel 2: weder A) noch B) ist effizienter (jeweils 8 Fahrzeuge) >>> >>> faehre_fuellen.strategie_a(faehre_fuellen.Beispiel[2]) {'anzahl': [5, 4, 3], 'länge': [18.91, 17.630000000000003, 12.780000000000001]} >>> faehre_fuellen.strategie_b(faehre_fuellen.Beispiel[2]) {'anzahl': [4, 4, 4], 'länge': [15.030000000000001, 16.86, 17.43]} >>> # Beispiel 3: weder A) noch B) ist effizienter (jeweils 12 Fahrzeuge) ```