我正在为所有类型的数学算法创建计算器应用程序。但是,我想确定一个根是否复杂,然后有一个例外。 我想出了这个:
if x == complex():
print("Error 05: Complex Root")
但是,当我运行应用程序时,没有任何内容被识别或打印,因为x
是一个复杂的根。
答案 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 + 0j
,3j
的错误,但不会为2
,2.12
等打印任何内容。
还要考虑在变量复杂时抛出错误(ValueError
或TypeError
)。
答案 3 :(得分:1)
在NumPy v1.15中,包含了一个函数:numpy.iscomplex( x )
其中x
是要识别的数字。
答案 4 :(得分:0)
做到这一点的一种方法是
if type(x) == complex():
print("Error 05: Complex Root")
正如其他人指出的那样,isinstance也可以工作