SyntaxError: invalid syntax

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
DIBA
User
Beiträge: 1
Registriert: Donnerstag 23. November 2023, 23:16

Hallo zusammen

Bin die Grundlagen der Sprache Python am erlernen.
Ist nicht immer so ganz einfach.
Ich habe einen einfachen Code geschrieben, bei dem der Nutzer seine zwei Werte eingeben kann.
Er kann auch noch die Mathematischen Operatoren wählen mit den er die Werte berechnen möchte.

:?: Nun meine Frage, ich bekomme bei der Ausgabe, also wenn ich den Code ausführe immer SyntaxError: invalid syntax
An was könnte das liegen?
Im Debug Modus funktioniert der Code allerdings...

Vielen Dank
Grüsse DIBA :D

CODE:


def Plus (Parameter1, Parameter2):
Ergebnis = Parameter1 + Parameter2
return Ergebnis

def Minus (Parameter1, Parameter2):
Ergebnis = Parameter1 - Parameter2
return Ergebnis

def Division (Parameter1, Parameter2):
Ergebnis = Parameter1 / Parameter2
return Ergebnis

def Multiplikation (Parameter1, Parameter2):
Ergebnis = Parameter1 * Parameter2
return Ergebnis


Parameter1 = float(input("Bitte gib den ersten Wert ein: "))
Parameter2 = float(input("Bitte gib den zweiten Wert ein: "))

Eingabe = int(input("Gib ein ob du eine (1)Muliplikation, (2)Divisision, (3)Addition oder (4)Subtraktion machen möchtest "))


if Eingabe == 1:
Resultat = Multiplikation(Parameter1,Parameter2)

elif Eingabe == 2:
Resultat = Division(Parameter1,Parameter2)

elif Eingabe == 3:
Resultat = Plus(Parameter1,Parameter2)

elif Eingabe == 4:
Resultat = Minus(Parameter1,Parameter2)

else:
("Ungültige Eingabe")

print(Resultat)
Benutzeravatar
pillmuncher
User
Beiträge: 1484
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Bei mir funktioniert der Code. Übrigens wäre es nützlich, wenn du den gesamten Traceback posten würdest. Dann wissen wir, wo im Code der Fehler auftritt.
In specifications, Murphy's Law supersedes Ohm's.
Benutzeravatar
sparrow
User
Beiträge: 4195
Registriert: Freitag 17. April 2009, 10:28

@DIBA: Anmerkungen zum Code, die man gleich vom Start an mitnehmen kann:

Namen werden in Python klein_mit_unterstrich geschrieben. Ausgenommen sind die Namen von Klassen (PascalCase) und die von Konstanten (KOMPLETT_GROSS).

Namen von Funktionen sollten von Ihrer Tätigkeit abgeleitet sein, die Namen von Variablen nach Ihrem Inhalt.

Die Funktion "Division" sollte also besser "dividiere" heißen.

"Eingabe" ist ein sehr generischen Name. Da würdest du bestimmt auch etwas finden, das sprechender ist.
Benutzeravatar
grubenfox
User
Beiträge: 432
Registriert: Freitag 2. Dezember 2022, 15:49

pillmuncher hat geschrieben: Freitag 24. November 2023, 00:55Dann wissen wir, wo im Code der Fehler auftritt.
Wenn ich raten darf (und der gezeigte Code vollständig ist): nach dem "else:"
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Was meinst Du mit Debug-Modus? Und wie führst Du den Code aus? Wenn man die Zeilen in eine datei.py kopiert und diese ausführt gibt es keinen SyntaxError.

Variablen und Funktionen werden komplett klein geschrieben.
Die Fehlerbehandlung muß korrekt sein, bei Dir ist es aber im Fehlerfall (ungültige Eingabe) so, dass Du nach dem else-Block so weiter machst, als ob nichts wäre und Du dann natürlich in einen NameError hineinläufst, weil im else-Block `Resultat` gar nicht definiert wird.
Antworten