识别复数

时间:2012-03-21 23:54:23

标签: python complex-numbers

我正在为所有类型的数学算法创建计算器应用程序。但是,我想确定一个根是否复杂,然后有一个例外。 我想出了这个:

if x == complex():
    print("Error 05: Complex Root")

但是,当我运行应用程序时,没有任何内容被识别或打印,因为x是一个复杂的根。

5 个答案:

答案 0 :(得分:13)

我不是100%肯定你在问什么,但是如果你想检查变量是否是复杂类型,你可以使用isinstance。例如,

x = 5j
if isinstance(x, complex):
    print 'X is complex'

打印

X is complex

答案 1 :(得分:8)

>>> isinstance(1j, complex)
True

答案 2 :(得分:6)

试试这个:

if isinstance(x, complex):
    print("Error 05: Complex Root")

这会打印2 + 0j3j的错误,但不会为22.12等打印任何内容。

还要考虑在变量复杂时抛出错误(ValueErrorTypeError)。

答案 3 :(得分:1)

在NumPy v1.15中,包含了一个函数:numpy.iscomplex( x )

其中x是要识别的数字。

答案 4 :(得分:0)

做到这一点的一种方法是

if type(x) == complex():
    print("Error 05: Complex Root")

正如其他人指出的那样,isinstance也可以工作