识别复数

eng*_*ree 5 python complex-numbers

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

if x == complex():
    print("Error 05: Complex Root")
Run Code Online (Sandbox Code Playgroud)

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

Ada*_*cin 13

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

x = 5j
if isinstance(x, complex):
    print 'X is complex'
Run Code Online (Sandbox Code Playgroud)

版画

X is complex
Run Code Online (Sandbox Code Playgroud)


Ign*_*ams 8

>>> isinstance(1j, complex)
True
Run Code Online (Sandbox Code Playgroud)


Tad*_*eck 6

试试这个:

if isinstance(x, complex):
    print("Error 05: Complex Root")
Run Code Online (Sandbox Code Playgroud)

这将打印错误2 + 0j,3j但不打印任何东西2,2.12等等.

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


Soh*_*yya 5

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

其中x是要识别的数字。