Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Hallo erstmal,
da ich noch gaaaanz neu bin, habe noch absolut keine Ahnung wohin so eine Frage kommt..
Da ich nächste Woche eine Arbeit schreibe und nicht wirklich weiss was an meinem Script falsch ist,
wäre es nett von euch wenn ihr mir das sagen könntet
Aufgabe: Erstelle ein ''Parkhausscript'' wo man eine flexible Ein/-Ausfahrzeit eingeben kann. Der Stundenpreis betragt 2€, ab der 5ten Stunde kostet es jedoch nurnoch 1€ pro weiterer Std.
@.sTr0nG: Die Bedingungen im Programm spiegeln einfach nicht die Bedingungen in der Aufgabenstellung wieder und dadurch werden falsche Preise berechnet.
Erkläre mal wie viel jeweils 1, 3, 5, 7, und 10 Stunden Parken kosten, und wie sich der Preis zusammen setzt.
Ich wäre ja schon froh wenn er überhaupt Preise berechnet.
Nachdem ich die Ein/-Ausfahrzeiten eingegeben habe kommt diese Fehlermeldung:
Traceback (most recent call last):
File "C:\Python33\Parkhaus.py", line 6, in <module>
Parkzeit_Std=Ausfahrtzeit_Std - Einfahrtzeit_Std
TypeError: unsupported operand type(s) for -: 'str' and 'str'
Da ich dieses Thema erst neu habe, kann ich damit kaum/garnichts anfangen.
ich vermute nur mal das irgendwas in der 6ten zeile falsch ist, was weiss ich jedoch nicht.
.sTr0nG hat geschrieben:Nachdem ich die Ein/-Ausfahrzeiten eingegeben habe kommt diese Fehlermeldung:
Traceback (most recent call last):
File "C:\Python33\Parkhaus.py", line 6, in <module>
Parkzeit_Std=Ausfahrtzeit_Std - Einfahrtzeit_Std
TypeError: unsupported operand type(s) for -: 'str' and 'str'
Du versuchst mit Strings zu rechnen. Um Strings in Zahlen zu konvertieren gibt es int und float.
.sTr0nG hat geschrieben:Da ich dieses Thema erst neu habe, kann ich damit kaum/garnichts anfangen.
Also bitte, noch eindeutiger geht die Fehlermeldung nicht. Ich habe meiner Frau (die kein Python programmiert) diese Fehlermeldung gezeigt und nach weniger als 3 Sekunden die korrekte Diagnose bekommen.
@.sTr0nG: `input()` gibt Zeichenketten (Datentyp `str`) zurück und die kann man nicht voneinander abziehen. Was sollte zum Beispiel bei 'Haus' - 'Baum' auch das Ergebnis sein‽ Du musst die Eingaben in Zahlen umwandeln. Zum Beispiel mit `int()` in ganze Zahlen. Zahlen kann man dann voneinander abziehen.
Das nächste „technische” Problem sind die `print()`\s am Ende. Da solltest Du Dir noch einmal anschauen wie das aussehen muss wenn man mehr als einen Wert mit einem `print()`-Aufruf ausgeben will. So wie es jetzt dort steht bildest Du nämlich Tupel aus dem Rückgabewert von `print()` und den jeweiligen Variablen. Und mit den Tupeln wird dann nichts gemacht, also ist das ein recht sinnfreies Konstrukt.
Ansonsten bleibt meine Frage noch bestehen: Erkläre mal wie viel jeweils 1, 3, 5, 7, und 10 Stunden Parken kosten, und wie sich der Preis zusammen setzt.
Denn wenn die rein „technischen” Probleme gelöst sind, werden immer noch falsche Preise berechnet.
@BlackJack:
1 Std: Stundenpreis(2€) * Differenz zwischen Einfahrtzeit u Ausfahrtzeit
3 Std: Stundenpreis(2€) * Differenz zwischen Einfahrtzeit u Ausfahrtzeit
5 Std: 2x normaler Stundenpreis(2€) * Differenz zwischen Einfahrt u Ausfahrtzeit +1x neu berechneter Stundenpreis (1€) * Differenz zwischen Einfahrtzeit u Ausfahrtzeit
7 Std: 2x normaler Stundenpreis(2€) * Differenz zwischen Einfahrt u Ausfahrtzeit +3x neu berechneter Stundenpreis (1€) * Differenz zwischen Einfahrtzeit u Ausfahrtzeit
10Std: 2x normaler Stundenpreis(2€) * Differenz zwischen Einfahrt u Ausfahrtzeit +6x neu berechneter Stundenpreis (1€) * Differenz zwischen Einfahrtzeit u Ausfahrtzeit
@.sTr0nG: Wie kommst Du von der Aufgabenstellung auf diese Berechnung? Schlüssel das doch mal für sagen wir mal 7 Stunden Parkzeit auf die einzelnen Stunden auf. Wie viel kostet die 1., die 2., die 3., …, 7. Stunde?