Hallo Erstmal,
Ich habe heute mit meinem ersten Größeren Projekt begonnen.
Ich schreibe zurzeit ein Programm in Python ,welches Quadratische Gleichungen mithilfe der PQ Formel löst.
Das Programm fragt die Werte P und Q ab
P = input ("Geben sie ihren P Wert ein")
Q = input("Geben sie ihren Q Wert ein")
Nun kann ich aber keine Rechnungen mit den Variablen P und Q machen.
Es kommt nur eine Fehlermeldung die Sagt das ich mit Variablen aus "Input" keine Rechnungen machen kann.
Könnt ihr mir weiter helfen?
Input Variablen
@Wurtzelzerk: Die Fehlermeldung sagt Dir sicher nicht das man mit „Variablen aus `input()`” keine Rechnungen durchführen kann, sondern das man mit Werten vom Typ `str` keine Rechenoperationen wie ``-`` oder ``/`` durchführen kann und auch kein ``*`` wenn beide Operanden vom Typ `str` sind. Das liegt daran das `input()` (in Python 3) eine *Zeichenkette* als Rückgabewert hat. Mathematische Operationen aber auf *Zahlen* definiert sind. Was sollte beispielsweise so etwas wie ``'42' / '7'`` auch als Ergebnis haben. Du musst die Zeichenketten mit den Ziffern vor dem Rechnen in Zahlen umwandeln. Das geht mit den Funktionen `int()` und `float()`, je nachdem ob man ganze Zahlen oder Gleitkommazahlen umwandeln möchte. Das sollte man aber eigentlich nach dem Durcharbeiten eines Grundlagentutorials wissen.
Wenn Du Fehlermeldungen bekommst wäre es Zukunft hilfreich die komplette Meldung inklusive Traceback 1:1 zu zeigen. Dann müssen wir nicht raten wo das Problem liegt. Das ist nämlich nicht immer offensichtlich. Insbesondere wenn man nicht nur keine Fehlermeldung kennt, sondern auch den Quelltext der die auslöst auch nicht zu Gesicht bekommt. Am besten immer beides zeigen.
Wenn Du Fehlermeldungen bekommst wäre es Zukunft hilfreich die komplette Meldung inklusive Traceback 1:1 zu zeigen. Dann müssen wir nicht raten wo das Problem liegt. Das ist nämlich nicht immer offensichtlich. Insbesondere wenn man nicht nur keine Fehlermeldung kennt, sondern auch den Quelltext der die auslöst auch nicht zu Gesicht bekommt. Am besten immer beides zeigen.
Alternativ zum späteren Umwandeln kannst du auch den Input direkt als Integer oder Fließkommazahl angeben:
bzw.
Code: Alles auswählen
P = int(input("Geben Sie Ihren P Wert ein: "))
Q = int(input("Geben Sie Ihren P Wert ein: "))
Code: Alles auswählen
P = float(input("Geben Sie Ihren P Wert ein: "))
Q = float(input("Geben Sie Ihren P Wert ein: "))
Zuletzt geändert von cofi am Mittwoch 7. Januar 2015, 19:27, insgesamt 1-mal geändert.
Grund: Code Markup korrigiert
Grund: Code Markup korrigiert
-
- User
- Beiträge: 2
- Registriert: Mittwoch 24. Dezember 2014, 00:00
Danke für eure antworten hat funktioniert
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Laut PEP8 sollte man Variablen *klein* schreiben, also ``p`` und ``q``
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert