Seite 1 von 1
Fehler meldung
Verfasst: Donnerstag 13. Mai 2010, 13:18
von demir
hallo an alle bin neu in forum
hab auch neu angefangen mit python.Und schon
hab ich ein erstes problem wo ich stunden sitze
und nicht weiter weiß wen ich was programmiere
mit den befehlen else,elif bekomm ich ne fehler meldung
aber das liegt nicht an falsches programmieren
weil ich das zu beweis auch 1 zu 1
von Buch abgeschrieben habe als beweis das das nicht von mir war
und da kommt immer wieder dieser fehler meldung SyntaxError: invalid syntax
ich weiß nicht voran es liegt könntet ihr mir helfen bitte.
Re: Fehler meldung
Verfasst: Donnerstag 13. Mai 2010, 13:30
von Pekh
Wir wissen es auch nicht. Hilf uns!

Re: Fehler meldung
Verfasst: Donnerstag 13. Mai 2010, 13:31
von gkuhl
Hallo und Willkommen im Forum,
zeig uns hier mal den Code, der den Fehler verursacht zusammen mit der vollständigen Fehlermeldung. Bitte achte etwas auf deine Rechtschreibung und Grammatik, sowie Groß- und Kleinschreibung und verwende keine manuellen Zeilenumbrüche, da es deinen Text extrem schwer lesbar macht.
Grüße
Gerrit
Re: Fehler meldung
Verfasst: Donnerstag 13. Mai 2010, 13:50
von demir
import random
random.seed()
a = random.randint(1,10)
b = random.randint(1,10)
c = a + b
print("Die Aufgabe:", a , "+", b)
print("Bitte eine Zahl eingeben:")
z = input()
zahl = int(z)
if zahl == c:
print(zahl, "ist richtig")
else:
print(zahl, " ist falsch")
print("Ergebnis: ", c)
input()
Das ist der Code da kommt der Fehler SyntaxError: invalid syntax.
Re: Fehler meldung
Verfasst: Donnerstag 13. Mai 2010, 14:02
von rads
Hallo Demir,
wie du sicherlich weißt, und angeblich es sogar Menschen gibt die das für gut finden, muss man bei Python richtig einrücken.
Also die Befehle im If-block müssen eingerückt werden, lustigerweise müssen sich sogar Kommentare an der richtigen Stelle befinden. anbei das ganze Formatiert.
Code: Alles auswählen
import random
random.seed()
a = random.randint(1,10)
b = random.randint(1,10)
c = a + b
print("Die Aufgabe:", a , "+", b)
print("Bitte eine Zahl eingeben:")
z = input()
zahl = int(z)
if zahl == c:
print(zahl, "ist richtig")
else:
print(zahl, " ist falsch")
print("Ergebnis: ", c)
input()
Ich musste hier mit Leerzeichen einrücken, typischerweise macht man das aber mit Tab. Entwickelst du in einer Entwicklungsumgebung wie z.b Eclipse wird dir das auch schon vor dem eigentlich compile mitgeteilt.
Sollte es nicht daran liegen poste uns bitte die genaue Fehlermeldung
Re: Fehler meldung
Verfasst: Donnerstag 13. Mai 2010, 14:06
von gkuhl
Bitte verwende die Code-Tags des Forums. Wichtig vor allem weil bei Python Einrücken wichtig ist. Gib bitte die vollständige Fehlermeldung an, z.B.:
Code: Alles auswählen
File "test.py", line 11
print(zahl, "ist richtig")
^
IndentationError: expected an indented block
Re: Fehler meldung
Verfasst: Donnerstag 13. Mai 2010, 14:11
von gkuhl
rads hat geschrieben:wie du sicherlich weißt, und angeblich es sogar Menschen gibt die das für gut finden, muss man bei Python richtig einrücken.
Ich finde es gut. Einer der Gründe weswegen ich Python verwende.
rads hat geschrieben:Ich musste hier mit Leerzeichen einrücken, typischerweise macht man das aber mit Tab.
Nein, in Python sollte man 4 Leerzeichen verwenden! Man kann einen guten Editor aber so einstellen, dass ein Tab automatisch in 4 Leerzeichen umgewandelt wird. Siehe dazu auch den Python Style Guide
PEP8.
Re: Fehler meldung
Verfasst: Donnerstag 13. Mai 2010, 14:13
von derdon
rads hat geschrieben:Also die Befehle im If-block müssen eingerückt werden, lustigerweise müssen sich sogar Kommentare an der richtigen Stelle befinden. anbei das ganze Formatiert.
Dann sieht das hier für dich sicherlich nach einem Bug aus oder was?!
Code: Alles auswählen
>>> if False:
... # a comment
... print 'this will not be printed...'
... elif True:
... # another comment
... print 'but this will be printed!'
... # lefnLFNwelfwb
...
but this will be printed!
Re: Fehler meldung
Verfasst: Donnerstag 13. Mai 2010, 14:14
von rads
Danke,
ich wolllte keine Grundsatzdiskussion anfangen. Ok Leerzeichen, 4 sind bei mir ein Tab.
Aber danek für die Info. ich bin wie man merkt eher ein Klammer und str+shift+f Mensch
(eclipse)
Grüße
ich dachte an sowas
Code: Alles auswählen
""" correct way
blubb blubb blubb"""
if False:
print 'correct'
"""error appeard
this error appear after a division by null
further discription """
elif True:
print 'error message'
Re: Fehler meldung
Verfasst: Donnerstag 13. Mai 2010, 14:19
von demir
Danke an alle wusste nicht das einrücken so Wichtig ist.Problem gelöst und was dazu gelernt.
Noch mal Danke an alle.
Re: Fehler meldung
Verfasst: Donnerstag 13. Mai 2010, 14:34
von BlackJack
@rads: Das sind aber keine Kommentare sondern literale Zeichenketten und damit Ausdrücke. Und Ausdrücke müssen halt korrekt eingerückt werden, damit man weiss wozu sie gehören.
Man sollte Zeichenketten nicht als Kommentare missbrauchen.
Re: Fehler meldung
Verfasst: Donnerstag 13. Mai 2010, 14:37
von derdon
rads: Das was du zeigst, sind Strings und keine Kommentare. Kommentare beginnen bei Python mit # und gehen bis zum Ende der Zeile. Strings sind etwas ganz anderes; an bestimmten Positionen (z.B. direkt nach einer Klassen- oder Funktionsdefinition) können diese aber eine besondere Funktion erhalten: dann sind es sogenannte Docstrings, die dokumentieren, *was* die Klasse oder Funktion macht. Implementationsdetails (also das *wie*) werden mit Kommentaren erläutert.
Edit: zu langsam
Re: Fehler meldung
Verfasst: Donnerstag 13. Mai 2010, 14:45
von rads
vielen Dank, werde ich in Zukunkft berücksichtigen.
Gibt es für Pyhton sowas wie PMD, Findbugs, der mir sowas sagen würde?
Re: Fehler meldung
Verfasst: Donnerstag 13. Mai 2010, 14:58
von BlackJack
`pylint` und `pyflakes` fallen mir da spontan ein. PyDev kann `pylint` einbinden.
Re: Fehler meldung
Verfasst: Samstag 15. Mai 2010, 19:03
von sebastian3984
Is halt auf englisch hilft dir aber vll
http://www.python.org/dev/peps/pep-0008/
Re: Fehler meldung
Verfasst: Samstag 15. Mai 2010, 22:01
von Leonidas
sebastian3984 hat geschrieben:Is halt auf englisch hilft dir aber vll

Gibt es
auch auf deutsch.
Re: Fehler meldung
Verfasst: Samstag 15. Mai 2010, 22:25
von cofi