Hi,
du wirst dir mit einer programmiersprache immer unsicher vorkommen wenn du nicht genau über die syntax bescheid weisst.
syntax heisst in etwa "was darf ich wo hinschreiben"
und bei allem was du benutzt musst du dir erstmal klar werden wie die syntax ist. ich mache das mal ausführlich an der for-schleife klar.
du musst das so (mit lesen und ausprobieren und hier nachfragen) mit allen "sprachelementen" tun.
probier doch zb mal für das "if".
also:
Code: Alles auswählen
for listen_element in liste:
#mach irgendwas
#beispiel:
>>> for e in [1,2,3]:
... print e
...
1
2
3
dabei ist
for: ein sogenanntes schlüsselwort, fest von python vorgegeben. hiermit sagst du python erstmal was du überhaupt vorhast (eine for-schleife)
listen_element: eine variable die du beliebig benennen darfst
in: wieder ein schlüsselwort, genauer der "in" operator
liste: irgendetwas "aufzählbares".
am schluss der
doppelpunkt ":" und nur der. "=" ist hier nicht erlaubt.
#mach irgendwas: steht in der nächsten zeile. und zwar eingerückt. das ist das was für jedes element in der liste getan wird.
im beispiel habe ich für liste "[1,2,3]" eingesetzt.
du könntest aber auch eine funktion einsetzten, die eine liste zurückgibt,
zb range().
oder (wenn auch sinnfrei)
und noch ein paar beispiel was man nicht darf:
Code: Alles auswählen
>>> for 1 in [1,2,3]:
... pass
...
File "<stdin>", line 1
SyntaxError: cant assign to literal
# 1 ist keine variable, sondern ein fester wert, ein literal.
# daher ein syntaxfehler, das literal darf da nicht stehen!
>>> for e in 1:
... pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
# diesmal kein syntaxfehler, aber so ähnlich.
# statt durch eine liste will ich hier durch eine einzelne zahl laufen, das geht nicht. for e in [1]: wäre dagegen in ordnung - warum?
>>> for e innen_drin_in [1,2,3]:
File "<stdin>", line 1
for e innen_drin_in [1,2,3]:
^
SyntaxError: invalid syntax
#auch falsch. hier habe ich das sclüsselwort "in" falsch geschrieben.
>>> for e in [1,2,3]
File "<stdin>", line 1
for e in [1,2,3]
^
SyntaxError: invalid syntax
# der doppelpunkt fehlt.
>>> for e in [1,2,3] =
File "<stdin>", line 1
for e in [1,2,3] =
^
SyntaxError: invalid syntax
# wieder fehlt der ":", das "=" macht es auch nicht besser :)
>>>