Wie kann ich mit Variabeln in Python rechnen?

2 Antworten

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

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.

frankunderwood 
Fragesteller
 06.05.2016, 23:47

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

0
3v1lH4x0R  07.05.2016, 00:16

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

0
3v1lH4x0R  07.05.2016, 00:17

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

0