systematisches Ausprobieren in rechteckigen Bereich
Verfasst: Donnerstag 8. Dezember 2016, 14:41
Hallo,
ich sitze an einer Aufgabe, die ich nicht ganz hinbekomme. Bin noch ein absoluter Anfänger und habe Schwierigkeiten mein Problem zu lösen. Den Fehler habe ich entdeckt, bekomme ihn aber nicht gelöst. Mit einer doppelten for-Schleife habe ich mir eine Tabelle erstellt, die ich durch if-Bedingungen transformiert habe um strings darin verwenden zu können. Es geht um die Darstellung vom Gewinn... blabla.
Nun wollte ich mir aus der Tabelle den höchsten Gewinn ausgeben lassen. Meine Idee war es eine Variable s.B. max_gew = 0 vor der Schleife zu initialisieren und durch eine if-Abfrage in der Schleife durch Ausprobieren den höchsten Wert zu ermitteln. Ich habe mir das folgendermaßen gedacht.
Das funktioniert aber nicht. Ich bekomme eine Fehlermeldung die iwas mit strings und floats anzeigt.
"" TypeError: unorderable types: float() < str() ""
Meine vermutung ist, dass ich mit den if-abfragen in den for-schleifen Kombination einen string zugewiesen habe und er den nicht mit der anderen if-abfrage vergleichen kann, von wegen prüfe ob ein float größer ist als ein integer. Wie gesagt es ist nur eine Vermutung. Wenn ich richtig liege, bitte ich um tipps, was ich zu machen habe. Ich bin echt noch ein Anfänger und verzweifle total.
Danke schonmal
mfg
ich sitze an einer Aufgabe, die ich nicht ganz hinbekomme. Bin noch ein absoluter Anfänger und habe Schwierigkeiten mein Problem zu lösen. Den Fehler habe ich entdeckt, bekomme ihn aber nicht gelöst. Mit einer doppelten for-Schleife habe ich mir eine Tabelle erstellt, die ich durch if-Bedingungen transformiert habe um strings darin verwenden zu können. Es geht um die Darstellung vom Gewinn... blabla.
Code: Alles auswählen
# vorgegeben
x_vol = 2
y_vol = 1
x_gew = 1.5
y_gew = 1
x_preis = 3
y_preis = 5
# einzugeben
g_Cola_x = float(input("Gewinn pro Colaflasche: "))
g_Wein_y = float(input("Gewinn pro Weinflasche: "))
Kapital = float(input("Verfuegbares Kapital: "))
# Rahmenbedingungen
Handwagen_vol = 88
Handwagen_gew = 70
max_cola = int(Kapital / x_preis)
max_wein = int(Kapital / y_preis)
# Test_Verarbeitung
print(" ", end="")
for wein in range(0,max_wein + 1):
print("%6d" % wein, end="")
print()
print(" ",end="")
print("------"*max_wein)
for cola in range(0,max_cola + 1):
print("%2s |" %cola, end="")
for wein in range(0,max_wein + 1):
if cola * x_vol + wein * y_vol > Handwagen_vol:
if cola * x_gew + wein * y_gew > Handwagen_gew:
if cola * x_preis + wein * y_preis > Kapital:
Kombination = str("VGK")
else:
Kombination = str("VG")
else:
Kombination = str("V")
else:
if cola * x_gew + wein * y_gew > Handwagen_gew:
if cola * x_preis + wein * y_preis > Kapital:
Kombination = str("GK")
else:
Kombination = str("G")
else:
if cola * x_preis + wein * y_preis > Kapital:
Kombination = str("V")
else:
Kombination = cola*g_Cola_x + wein*g_Wein_y
print("%6s" %Kombination, end="")
print()
Code: Alles auswählen
if Kombination >= max_gew:
max_gew = Kombination
print(max_gew)
"" TypeError: unorderable types: float() < str() ""
Meine vermutung ist, dass ich mit den if-abfragen in den for-schleifen Kombination einen string zugewiesen habe und er den nicht mit der anderen if-abfrage vergleichen kann, von wegen prüfe ob ein float größer ist als ein integer. Wie gesagt es ist nur eine Vermutung. Wenn ich richtig liege, bitte ich um tipps, was ich zu machen habe. Ich bin echt noch ein Anfänger und verzweifle total.
Danke schonmal
mfg