Seite 1 von 1

SyntaxError: invalid syntax nach For-Schleife

Verfasst: Freitag 26. Oktober 2012, 15:44
von schneitzmaster
Hallo Leute,
ich bin jetzt schon seit mehreren Tagen am rumgrübeln und finde keine Antwort auf mein Problem.
Hier mein Minimalbeispiel

Code: Alles auswählen

import math  
anz     = 1000    
dt      = 1e-05
eps_ver = [0]*(anz+1) 
k=0
epsH_dot = 10  
for k in range(0,(anz+1)):
     eps_ver[k] = ( k*dt , epsH_dot* math.exp( epsH_dot*k*dt ) )
     
eps_ver[0] = (0.0,0.0) 
Beim kopieren in die Kommandozeile und Ausführung der Schleife mit Zuweisung des nullten Elementes erhalte ich die Fehlermeldung SyntaxError: invalid syntax.
Wenn ich aber nur die Schleife ausführe und danach die Zuweisung für

Code: Alles auswählen

eps_ver[0] = (0.0,0.0) 
ausführe klappt alles.
Warum?
Kann mir jemand helfen?

Re: SyntaxError: invalid syntax nach For-Schleife

Verfasst: Freitag 26. Oktober 2012, 16:03
von nomnom
Das liegt daran, dass in der Python-"REPL" nach Einrückung eine Leerzeile erwartet wird, und du diese nicht mitkopierst.

Re: SyntaxError: invalid syntax nach For-Schleife

Verfasst: Samstag 27. Oktober 2012, 08:53
von schneitzmaster
Hi nomnom,
vielen Dank für den Hinweis. Da muss man erst mal drauf kommen.
Siehst du eine Möglichkeit, dass es über kopieren und einfügen funktioniert.
Gibt es ein Kommando in Python, der eine Leerzeile nach dem Einrücken einfügt.
Hintergrund ist folgender. Ich erzeuge parametrisierte Modelle in ABAQUS und benutzte dazu Python. Die einzelnen Schritte zur Modell Erstellung werden dabei immer per copy&past in die Kommandozeile realisiert.

Re: SyntaxError: invalid syntax nach For-Schleife

Verfasst: Samstag 27. Oktober 2012, 10:56
von nomnom
Du kannst wahrscheinlich einfach ein Leerzeichen in die Leerzeile setzen.

Aber warum Copy & Paste? Eine Datei auszuführen sollte doch einfacher sein.

Re: SyntaxError: invalid syntax nach For-Schleife

Verfasst: Montag 29. Oktober 2012, 07:33
von schneitzmaster
Hi ich habe deinen Vorschlag gerade ausprobiert. Leider funktioniert das nicht. Gibt es vielleicht noch eine andere Variante.

Der Grund meiner Copy&Paste - Verwendung ist, dass die ABAQUS-Modelle Stück für Stück aufgebaut werden. So kommt erst die Geometrie dann die Vernetzung usw.
Da nicht von Anfang an klar ist ob die Befehle so richtig sind, oder manchmal nicht das ganze Modell geändert werden soll sondern in kleiner Teil von Hand (per GUI) modelliert wird, verwende ich Python über die Kommandozeile.
Doch immer nach dieser Schleife springt er raus.
Also wenn du noch eine Idee hast wäre das echt toll.
Danke

Re: SyntaxError: invalid syntax nach For-Schleife

Verfasst: Montag 29. Oktober 2012, 08:15
von schneitzmaster
Hi ich habe jetzt die Lösung.
Man muss für den Interpreter eine Leerzeile (ohne Lehrzeichen o.ä.) nach der Schleife einfügen. Dann erkennt er das diese beendet ist.
Vielen Dank noch mal für deine Hilfe.

Re: SyntaxError: invalid syntax nach For-Schleife

Verfasst: Montag 29. Oktober 2012, 09:34
von sparrow
Also mal ehrlich. Speicher das ganze in einer Datei und führ sie dann einfach mit dem Interpreter aus.
Du stellst dir selbst ein Bein, und das kann weder sinnvoll noch lehrreich sein.
Irgendwoher musst du es ja eh kopieren. Und wenn das dann auch noch eine Textdatei ist, dann ist das ja doppelt von hinten, durch die Beine und ins Auge.