Geschachtelte for - Schleife

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
Draco2010
User
Beiträge: 40
Registriert: Dienstag 18. August 2009, 06:28

Hallo

l=[for x in range(1,5) for y in range(1,5) if x+y < 5]
print l


Fehlermeldung : Invalid Syntax

Invalid Syntax bedeutet das entweder eine Klammer oder Doppelpunkt fehlt!

Kann mir jemand etwas dazu sagen ?

Vielen Dank
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Versuchs mal so:

Code: Alles auswählen

l=[x for x in range(1,5) for y in range(1,5) if x+y < 5]
Allerdings ist mir nicht so ganz klar was das werden soll
the more they change the more they stay the same
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Draco2010 hat geschrieben:Invalid Syntax bedeutet das entweder eine Klammer oder Doppelpunkt fehlt!
Wie kommst du denn darauf? Im Uebrigen solltest du den Traceback ganz lassen, auch wenn du vielleicht nichts damit anfangen kannst.

Vielleicht erzaehlst du uns aber mal was du vorhast? Zaehlschleifen sind meist unnoetig (v.a. wenn die Schreiber aus der C-Familie kommen).

@Dav1d: l is ein schlechter name und ein paar Leerzeichen haettest du auch noch spendieren koennen. (Ja ich weiss, dass du das uebernommen hast, aber du bietest ja eine _bessere_ Loesung an).
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Stimmt, steht sogar in der PEP8 so drinnen und auch l (L) und 1 (eins)

Code: Alles auswählen

my_strange_list = [x for x in range(1,5) for y in range(1,5) if x+y < 5]
//Edit: OK l und 1 kann bei dem Schrifttyp vom Forum gut unterscheiden
the more they change the more they stay the same
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Ich denke er hat das l einfach übernommen.

@Draco2010: Du musst auch die Werte verwenden.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Draco2010
User
Beiträge: 40
Registriert: Dienstag 18. August 2009, 06:28

David ich bin Dir sehr Dankbar, es hat funktioniert !

Ich komme aus gar keiner Programmiersprache, bin ein Quereinsteiger und versuche, einige Mathematische Formeln umzusetzen, um es nacher anwenden zu können.

Python 2.6.4 ist meine erste Programmiersprache (einige Grundkenntisse in Basic vorhanden)!

Habe schon einige Python PDF Dateien gelesen, aber hat mir sehr wenig gebracht, bis ich anfing praktische Kenntnisse zu sammeln.

Also bin ich dabei, durch versuch und irrtum zu lernen, bleibt mehr hängen!

Im internet habe ich nach Syntax-Error bedeutung gesucht!
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

@Draco2010: Nach SyntaxError zu suchen macht keinen Sinn, du musst den Traceback lesen und verstehen, die sind meist recht praezise, wenn nicht is der Fehler in der Zeile davor, der Interpreter verschluckt sich dabei aber noch nicht.

Generell solltest du nicht "einige Python PDF Dateien" lesen, sondern das Tutorial (oder die deutsche Uebersetzung, aber Vorsicht: Python 3).

@jbs: Das habe ich ja erkannt (und geschrieben ;)).

@Dav1d: Das Problem ist ja, dass der Schrifttyp nicht ueberall gleich ist und man das deshalb eventuell fuer lesbar haelt, es bei einem anderen aber identisch dargestellt wird.
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Draco2010 hat geschrieben:Im internet habe ich nach Syntax-Error bedeutung gesucht!
Als Mathematiker solltest du um die vielfältigen Möglichkeiten eines Syntax-Fehlers aber wissen, in der Mathematik gibt es auch nicht nur "Zahl-unterm-Bruch-vergessen", sondern auch nicht-geschlossene Klammern und so weiter ;-)
Draco2010
User
Beiträge: 40
Registriert: Dienstag 18. August 2009, 06:28

Ein Mathematiker bin ich leider nicht, aber mir ist schon bewusst das Python auf Fehler sensiebel reagiert!

Binn also für jede Antwort mit Erklärung dankbar!
Antworten