-3
我有這個問題,我的Python代碼:誤差數值:「不能轉換複雜的浮動」
from math import *
m = pow(complex(1,2)*complex(3,0) + complex(1,0),complex(-1,0));
TypeError: can't convert complex to float
有誰知道如何解決這個問題? 非常感謝!
我有這個問題,我的Python代碼:誤差數值:「不能轉換複雜的浮動」
from math import *
m = pow(complex(1,2)*complex(3,0) + complex(1,0),complex(-1,0));
TypeError: can't convert complex to float
有誰知道如何解決這個問題? 非常感謝!
的問題是,你正在使用from math import *
。這陰影內置pow
與version that doesn't support complex numbers。
>>> pow(1+1j, 1)
(1+1j)
>>> import math
>>> math.pow(1+1j,2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't convert complex to float
from <x> import *
通常被認爲是不好的做法,而這樣的情況是爲什麼。
相反,你應該使用import math
,並引用您的所有數學功能,例如math.sqrt
或者,你可以使用**
,而不是pow
:
>>> 1j ** 2
(-1+0j)
使用標籤明智地配合。 –
什麼'import's您使用的? – RoadieRich
[適用於我](http://ideone.com/zaAQVG)請提供一個簡短的**完整**程序來演示問題,請參閱[mcve]瞭解更多信息。 –