Neffe vs. Onkel

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.
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Okay, Stopp!

Sorry, wenn das ein wenig Schroff wirkt, aber ließt du überhaupt alles was wir dir Schreiben?

Ließ dir bitte das [wiki=Tutorial]Tutorial[/wiki] durch und dann bitte auch, unsere Beiträge.

Und bitte bitte bitte probiere deinen Code vorher aus, bevor du hier einfach sinnlosen Code schreibst.


MfG EnTeQuAk
Benutzeravatar
lutz.horn
User
Beiträge: 205
Registriert: Dienstag 8. November 2005, 12:57
Wohnort: Pforzheim

Du bringst noch das Erzeugen einer Liste mit deren Verwendung in einer for-Schleife durcheinander. Um eine Liste zu erzeugen brauchst Du keine for-Schleife.

Code: Alles auswählen

liste = ["foo", "bar", "baz"]
genügt, um eine Liste zu erzeugen.

Über ein Liste iterierst Du mit for, das aber eine klare Syntax hat:

Code: Alles auswählen

for ding in liste:
  print ding
Wichtig sind der Doppelpunkt am Ende der ersten Zeile und die Einrückung in der zweiten.
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

ch probiere es ja auch selber ist ja nicht so dass ich alles euch überlasse
Den Eindruck habe ich aber schon. EnTeQuAk hat dir doch, nett wie er ist, schon vorgekaut wie es funktioniert.
weil ich schon seit 3monaten mit python arbeite
Und nach 3 Monaten harter Arbeit schreibst du Dinge wie for personen in range(10)= [ ?
EnTeQuAk hat geschrieben:Warum, macht das in der Schule euer Lehrer immer für euch?
:) Jep.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Tja, ich würde sagen 1:0 für den Onkel.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Jona
User
Beiträge: 94
Registriert: Sonntag 23. September 2007, 23:25

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)

Code: Alles auswählen

def gibt_mich_liste():
   return [1,2,3]

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 :)
>>>
blackmamba28
User
Beiträge: 26
Registriert: Freitag 14. September 2007, 09:58
Wohnort: bonn

ich verstehe das immer noch nicht :cry: :cry: :cry: :cry: :cry:
helft mir doch
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Hi

Lies dir doch bitte diesen Beitrag von entequak durch: http://www.python-forum.de/topic-12355.html#80711

Da steht ja schon die Lösung! Und sag was du nicht verstehst, nicht einfach ich verstehs nicht.
Jona
User
Beiträge: 94
Registriert: Sonntag 23. September 2007, 23:25

hast du dir denn jetzt mal die syntax von zb if und for angeschaut und damit experimentiert?
das ist die vorraussetzung für alles weitere.
Antworten