'Syntax Error: invalid syntax', ohne ersichtlichen Grund
Ich habe versucht, einen fix zu bekommen, und kann nicht finden, warum der Fehler hält erscheinen. Pmin,Pmax,w,fi1 und fi2, wurden alle zugeordneten endlichen Werte
guess=Pmin+(Pmax-Pmin)*((1-w**2)*fi1+(w**2)*fi2)
Wenn ich entfernen Sie diese Zeile aus dem code, der gleiche Fehler erscheint in der nächsten Zeile des Codes wieder ohne Grund ich denken kann
Edit: Hier ist das Stück code meinte ich:
def Psat(self, T):
pop= self.getPborder(T)
boolean=int(pop[0])
P1=pop[1]
P2=pop[2]
if boolean:
Pmin = float(min([P1, P2]))
Pmax = float(max([P1, P2]))
Tr=T/self.typeMolecule.Tc
w=0.5*(1+scipy.tanh((10**5)*(Tr-0.6)))
fi1=0.5*(1-scipy.tanh(8*((Tr**0.4)-1)))
fi2=0.460*scipy.sqrt(1-(Tr-0.566)**2/(0.434**2)+0.494
guess = Pmin+(Pmax-Pmin)*((1-w**2)*fi1+(w**2)*fi2) #error here
solution = scipy.optimize.newton(funcPsat,guess, args=(T,self))
- Der Ursprung des Fehlers ist wahrscheinlich eintretenden oberhalb der Zeile geschrieben. Kannst du ein wenig mehr code?
- und die vollen traceback
- Sie haben wahrscheinlich vergessen eine Klammer irgendwo vor. Unmöglich zu sagen, genau, ohne größeren Zusammenhang. Geben Sie bitte den vollständigen traceback und der code, der das problem reproduziert.
- Ich habe den Fehler gefunden, es war eine fehlende Klammer in einer der vorherigen Zeilen. Danke für die Hilfe
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für Probleme, wo es zu sein scheint ein Fehler auf eine Zeile, die Sie denken, ist richtig, Sie können oft entfernen/kommentieren Sie die Zeile, wo der Fehler scheint zu sein, und wenn der Fehler bewegt sich zur nächsten Zeile gibt es zwei Möglichkeiten.
Entweder beide Linien haben ein problem oder die vorherigen Linie hat ein problem, welches nach vorne. Die meisten wahrscheinlich Fall ist die zweite option (sogar noch mehr, wenn Sie entfernen, eine andere Linie und es bewegt sich wieder).
Beispielsweise das folgende Python-Programm
twisty_passages.py
:generiert den Fehler:
obwohl das problem eindeutig auf der Linie 1.
In Ihrem Fall, dass ist das problem. Die Klammern in der Zeile vor Ihre Fehler-Linie unübertroffen ist, gemäß der folgenden snippet:
Je nachdem, was Sie zu erreichen versuchen, die Lösung kann so einfach sein wie das hinzufügen eines weiteren schließende Klammer am Ende, zum verschließen der
sqrt
Funktion.Kann ich nicht sagen, für bestimmte da ich nicht erkennen, der Ausdruck aus der Spitze von meinem Kopf. Kaum verwunderlich, wenn (vorausgesetzt, PSAT ist das Enzym, und die Nutzung der
typeMolecule
identifier) geht es um Molekularbiologie - ich glaube mich zu erinnern scheitern Biologie konsequent in meiner Jugend 🙂Ihnen fehlen einer schließenden Klammer in dieser Zeile:
Gibt es drei ( und nur zwei ).
Ich hoffe, Dies wird Ihnen helfen.
Nach überprüfung aller Klammern, passende Mengen für die '(' und ')' und alles, was ich gefunden habe in meinem Fall war, dass VS-Code-box Klammer '[' auto-complete-generation war das hinzufügen etwas extra, aber transparent. Zum Glück VS-Code Punkte Recht, das problem (obwohl 'unsichtbar'). I fixed it, löschen und re-Eingabe-box Klammern, Strich für Strich.
Stieß ich auf ein ähnliches problem, mit einem syntax-Fehler, dass wusste ich nicht sein sollte ein syntax-Fehler. In meinem Fall stellte sich heraus, dass ein Python-2-interpreter versucht zu laufen Python-3-code, oder Umgekehrt; ich denke, dass meine shell hatte einen PYTHONPATH mit einer Mischung aus Python 2 und Python 3.