Artikelverzeichnis
1.Problembeschreibung
Wenn ich Sympy verwende, um bestimmte Integralprobleme in Python zu lösen, definiere ich zuerst ein Symbolobjekt und übergebe das Symbolobjekt dann an einen komplexen Ausdruck. Bei der Berechnung des Ergebnisses tritt jedoch ein Fehler auf:
q = complex(1,p**2)
...
raise TypeError("can't convert expression to float")
TypeError: can't convert expression to float
Code:
# 声明变量p
p = symbols('p',real=True)
q = complex(1,p**2)
2.Lösung
Nach einer Online-Suche kann es daran liegen, dass die Verwendung der Funktion complex() zum Konvertieren in eine Pluralform einen Fehler meldet. Wenn der Quellcode nur in die folgende Form geändert wird, kann Python die Definition der Pluralform immer noch nicht identifizieren.
# 声明变量p
p = symbols('p',real=True)
q = 1 + pj
q = 1 + pj
NameError: name 'pj' is not defined
Änderungsplan: Multiplizieren Sie vor j mit 1, um das Problem zu lösen
# 声明变量p
p = symbols('p',real=True)
q = 1 + p*1j