Wie kann ich mit Variabeln in Python rechnen?

... komplette Frage anzeigen

2 Antworten

Der Fehler steckt nicht direkt in den Zeilen die du geschickt hast.
Er besteht darin dass du eine Zahl und einen String (Zeichenkette) versuchst zu addieren. Dies kann nur Fehlschlagen.

Ich gehe davon aus, dass du eine Nutzereingabe verwendest. Dein Code wird wahrscheinlich in etwa wie dieser aussehen:
a = raw_input("Bitte geben Sie eine Zahl ein: ")
Versuch ihn durch folgenden Code zu ersetzen:
a = int(raw_input(" Bitte geben Sie eine Zahl ein: "))

Wenn du int() auf einen String anwendest versucht Python diesen in eine Zahl umzuwandeln. Dein Fehler wird nun also nicht mehr auftreten.

Falls der String jedoch leer ist ("") oder Buchstaben enthält tritt ein anderer Fehler auf. Um dies zu vermeiden versuche folgenden Code:
try: a = int(raw_input(" Bitte geben Sie eine Zahl ein: "))
except: __import__("ctypes").user32.MessageBoxA(0, "Fehler", " Sie haben nicht alle Felder korrekt ausgefüllt.", 0)

Dies fängt den Fall, dass nicht alles ausgefüllt wurde und den Fall, dass keine Zahl eingegeben ab und gibt eine entsprechende Fehlermeldung in Form einer Benachrichtigung an.

Falls du noch Fragen hast, hau raus.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von frankunderwood
06.05.2016, 23:47

Vielen vielen Dank, jetzt habe ich es verstanden. Gute Nacht

0
Kommentar von 3v1lH4x0R
07.05.2016, 00:16

Dir auch eine gute Nacht. Und träum was süßes.

0
Kommentar von 3v1lH4x0R
07.05.2016, 00:17

Es ist übrigens __import_,("ctypes").windll.user32.MessageBoxA(...)

0

Hey,

Also "Gooooooogle" trifft es soweit schon ganz gut. ;)
Das Problem steht ja schon in der Fehlermeldung:
du versuchst einen String (Zeichenfolge, z.B. a = "4") mit einem INT (Ganzzahl; z.B. b = 5) zu addieren oder subtrahieren, heißt, du musst deine Variablen einfach in den richtigen Typ (z.B. INT) konvertieren. Das lässt sich ganz einfach googlen ;)

Je nachdem wie du die Variablen befüllst gleich zu Anfang.

MfG
Freddy

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?