Ich wollte Python in JMP JSL (Version 17.2) integrieren. Ich muss einige komplexe Verschachtelungen vornehmen, aber ich schaffe scheinbar nicht einmal etwas Einfaches. Der Skriptindex für Python Submit zeigt, wie Python eine Variable generiert und diese dann mit Python Get in JSL zieht.
//scripting index code
Names Default To Here( 1 );
Python Init();
Python Submit( "\[
str = 'The quick brown fox jumps over the lazy dog';
a = 200;
]\");
getStr = Python Get( str );
getNum = Python Get( a );
Show( getStr, getNum);
Python Term();
Ich wollte mit etwas Einfachem wie diesem beginnen und dann zu etwas Fortgeschrittenerem übergehen:
Python Submit("\[
for i in range(10):;
if i == 6:;
print(i);
]\");Ich hatte erwartet, dass das Terminal nur eine Sechs ausgibt, aber nach dem Ausführen des Skripts war das Ergebnis etwas seltsam.
//Terminal Output<BR />/**********/<BR /><BR />for i in range(10):;<BR />if i == 6:;<BR />print(i);<BR />/**********/
Ich habe noch ein paar Tests gemacht und festgestellt, dass einige Dinge funktionieren. Aber ich bekomme verschachtelte Schleifen immer noch nicht zum Laufen.
//Code that seemingly works
Python Submit("print('Hello World')");
Python Submit("for i in range(10): print(i); print(i);");
//Code that doesn't work for some reason
Python Submit("for i in range(10):; if i == 6; print(i)");
Python Submit("for i in range(10): if i == 6: print(i)");<BR />Python Submit("for i in range(10): if i == 6:; print(i););Wenn jemand einen Rat hat, wäre ich sehr dankbar.
Hier sind die Submit-Strukturen in der JMP 17-Schnittstelle zu Python, die meiner Meinung nach funktionieren
Names Default To Here( 1 );
Python Init();
Python Submit("\[
for i in range(11):
if i == 6:
print(i)
print(i)
]\");
Python Submit("i=6
if i == 6: print(i); print('i is 6')
");Wenn Sie auf JMP18 aktualisieren können, ersparen Sie sich aufgrund der neuen Art der Handhabung von Python in JMP eine Menge möglichen Ärger.
Sieht aus, als hätten Sie die erforderlichen Einrückungen übersehen.
Python Submit("\[
for i in range(10):
if i == 6:
print(i)
]\"); //6 (then 0 when Python is successfully terminated)Mir war nicht klar, dass Einrückungen in JMP einen so großen Einfluss haben. Danke für die Hilfe!
Es hat keine Auswirkungen auf JMP, aber es hat Auswirkungen auf Python (Sie führen Python-Code aus, nicht JSL).