Ich versteh das nicht (Fehlermeldung)

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
DeroZaza
User
Beiträge: 4
Registriert: Sonntag 23. Februar 2020, 22:07

Der Code lautet:

a = eval(input("Bitte geben sie irgendeinen Wert ein: "))
if a == 5:
print ("Die Eingabe war richtig.")
If a != 5:
print ("Die Eingabe war falsch.")

Und cmd gibt die Fehlermeldung bei der vierten Zeile " If a != 5:" an. Bei "a" genauer gesagt.
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bitte in Zukunft Code Tags benutzen, damit die wichtigen Einrückungen erhalten bleiben.

Und wenn das wirklich dein Code ist, dann ist das If falsch. Das muss klein geschrieben werden.
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

1. Schreib deinen Code hier in code-Tags, damit die Einrückung erhalten bleibt. Die Tags werden eingefügt, wenn du im Vollständigen Editor & Vorschau (Knopf unter der Schnellantwort) auf den </> Button drückst.

2. Ich würde sagen, das erste Zeichen in der bemängelten Zeile unterscheidet sich marginal von der 2 Zeilen darüber.

3. Hinter das print solltest du kein Leerzeichen schreiben. Es ist ein Methodenaufruf und zwischen Methode und Parameterliste gehört kein Leerzeichen

4. Du kannst statt des 2. if lieber else verwenden. Denn wenn es nicht 5 ist, ist es auf jeden Fall .... nicht 5.

5. eval ist unschön. Vergiss am besten, dass es das gibt. Denn alles, was dann eingegeben wird, wird vom Interpreter direkt ausgeführt. Im Zweifelsfall auch der Befehl deine Platte zu löschen oder sonst irgendwas. Versuch eine ander Methode zu finden, damit das Ergebnis keine Zeichenkette ist. Das ist spannend :)


Entschuldigung. Ich mag heute Aufzählungen.
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

Ich würde noch hinzufügen:
6. Wenn es Fehler gibt, bitte die gesamte Fehlermeldung inklusive Traceback posten, das macht die Fehlersuche deutlich einfacher (SyntaxError: invalid syntax).

7. Eingerückt wird in Python per Konvention immer mit 4 Leerzeichen pro Ebene, nicht einem.
DeroZaza
User
Beiträge: 4
Registriert: Sonntag 23. Februar 2020, 22:07

Das Problem lag daran, dass ich das "if" bei Zeile 4 groß geschrieben habe. Vielen Dank für die schnelle Hilfe von euch, ich bin noch ein Anfänger. Hier die überarbeitete Version:

Code: Alles auswählen

a = int(input("Bitte geben sie irgendeinen Wert ein: "))
if a == 5:
 print("Die Eingabe war richtig.")

 
 
 
if a != 5:
 print("Das war falsch.")
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

Hier nochmal zur Erinnerung:
- Eingerückt wird in Python per Konvention immer mit 4 Leerzeichen pro Ebene, nicht einem.
- Wenn die Bedingung des zweiten ifs genau das Gegenteil des ersten ifs ist, dann benutzt man else.
DeroZaza
User
Beiträge: 4
Registriert: Sonntag 23. Februar 2020, 22:07

Habs mit dem Einrücken glaub ich endlich gecheckt :wink:

Code: Alles auswählen

a = int(input("Bitte geben sie irgendeinen Wert ein: "))
if a == 5:
	print("Die Eingabe war richtig.")

else :
	print("Die Eingabe war falsch.")
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Nicht ganz. Das ist ein Tab und nicht vier Leerzeichen.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
DeroZaza
User
Beiträge: 4
Registriert: Sonntag 23. Februar 2020, 22:07

Alles klar. :roll:

Code: Alles auswählen

a = int(input("Bitte geben sie irgendeinen Wert ein: "))
if a == 5:
    print("Die Eingabe war richtig.")

else :
    print("Die Eingabe war falsch.")
Antworten