Input Variablen

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.
Antworten
Wurtzelzerk
User
Beiträge: 2
Registriert: Mittwoch 24. Dezember 2014, 00:00

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? :?:
BlackJack

@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.
Benutzeravatar
oreagel
User
Beiträge: 9
Registriert: Donnerstag 18. Dezember 2014, 19:47

Alternativ zum späteren Umwandeln kannst du auch den Input direkt als Integer oder Fließkommazahl angeben:

Code: Alles auswählen

P = int(input("Geben Sie Ihren P Wert ein: "))
Q = int(input("Geben Sie Ihren P Wert ein: "))
bzw.

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
Wurtzelzerk
User
Beiträge: 2
Registriert: Mittwoch 24. Dezember 2014, 00:00

Danke für eure antworten hat funktioniert
Benutzeravatar
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
Antworten