diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2014-11-21 19:33:43 +0100 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2014-11-21 19:33:43 +0100 |
| commit | a229d37264973c2d6c284f1f234f33cbe63ebd15 (patch) | |
| tree | a4a4883efee6ae4fc2c64eba8b34285b48f73ad9 | |
| parent | 922d054ecad133171d1c37c60684be6563e3562b (diff) | |
| download | bwinf-33-a229d37264973c2d6c284f1f234f33cbe63ebd15.tar.gz bwinf-33-a229d37264973c2d6c284f1f234f33cbe63ebd15.zip | |
Beispiele für Fähre füllen ergänzt
| -rw-r--r-- | faehre_fuellen.md | 36 | ||||
| -rwxr-xr-x | faehre_fuellen.py | 20 |
2 files changed, 42 insertions, 14 deletions
diff --git a/faehre_fuellen.md b/faehre_fuellen.md index 8cec7b9..125d5cd 100644 --- a/faehre_fuellen.md +++ b/faehre_fuellen.md @@ -22,12 +22,11 @@ Die Fahrzeuge werden möglichst gleichmäßig auf die drei Spalten verteilt. Die ``` werden für A) 8 Fahrzeuge eingeordnet und für B) 9. -TODO FIXME BEISPIELE ANWENDEN - 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 @@ -37,12 +36,41 @@ Beispiele 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) ``` diff --git a/faehre_fuellen.py b/faehre_fuellen.py index d71d374..ae17427 100755 --- a/faehre_fuellen.py +++ b/faehre_fuellen.py @@ -1,15 +1,14 @@ #!/usr/bin/env python3 -# Beispiel hier einfügen -#Beispiel = -#"5,23; 4,41; 3,33; 13,13; 9,12; 4,38; 6,34; 5,37; 4,11; 3,74; 10,62" -#"4,14; 3,63; 3,92; 7,95; 5,23; 3,30; 4,86; 15,06" -#"6,96; 5,06; 3,77; 3,95; 3,91; 3,54; 4,26; 4,03; 5,43; 4,04; 4,43; 4,12; 2,78" +Beispiel = [] +Beispiel.append("5,23; 4,41; 3,33; 13,13; 9,12; 4,38; 6,34; 5,37; 4,11; 3,74; 10,62") +Beispiel.append("4,14; 3,63; 3,92; 7,95; 5,23; 3,30; 4,86; 15,06") +Beispiel.append("6,96; 5,06; 3,77; 3,95; 3,91; 3,54; 4,26; 4,03; 5,43; 4,04; 4,43; 4,12; 2,78") # das Beispiel wird geparst -#Beispiel = [float(j.replace(",", ".")) for j in Beispiel.split("; ")] -Beispiel = [6] * 9 + [1] * 6 +for j in range(len(Beispiel)): + Beispiel[j] = [float(k.replace(",", ".")) for k in Beispiel[j].split("; ")] # vorgegebene Konstanten in Meter umgerechnet Faehrenlaenge = 20 @@ -18,8 +17,8 @@ Abstand = 0.3 # `abfolge`: Eine Liste mit Längen von Autos # gibt ein dict zurück, welches "anzahl" und "länge" aller Autos enthält -# im Verlauf der Funktion wird `abfolge` um die verladenen Fahrzeuge geleert -def strategie_a(abfolge): +def strategie_a(Abfolge): + abfolge = Abfolge[:] # `faehre` hält die Anzahl an Fahrzeugen und deren Gesamtlänge in einem dict faehre = {"anzahl": [0] * Faehrenbreite, "länge": [0] * Faehrenbreite} @@ -48,7 +47,8 @@ def strategie_a(abfolge): return faehre # siehe `strategie_a` -def strategie_b(abfolge): +def strategie_b(Abfolge): + abfolge = Abfolge[:] faehre = {"anzahl": [0] * Faehrenbreite, "länge": [0] * Faehrenbreite} j = 0 |
