Python 识别复数
我正在为所有类型的数学算法创建一个计算器应用程序。但是,我想确定一个根是否复杂,然后为它设置一个异常。 我想到了这个:Python 识别复数,python,complex-numbers,Python,Complex Numbers,我正在为所有类型的数学算法创建一个计算器应用程序。但是,我想确定一个根是否复杂,然后为它设置一个异常。 我想到了这个: if x == complex(): print("Error 05: Complex Root") 但是,当我运行应用程序时,我知道x是一个复杂的根,因此没有识别或打印任何内容。我不能100%确定你在问什么,但是如果你想检查变量是否为复杂类型,你可以使用它。比如说, >>> isinstance(1j, complex) True x = 5j
if x == complex():
print("Error 05: Complex Root")
但是,当我运行应用程序时,我知道
x
是一个复杂的根,因此没有识别或打印任何内容。我不能100%确定你在问什么,但是如果你想检查变量是否为复杂类型,你可以使用它。比如说,
>>> isinstance(1j, complex)
True
x = 5j
if isinstance(x, complex):
print 'X is complex'
印刷品
X is complex
试试这个:
if isinstance(x, complex):
print("Error 05: Complex Root")
这会为2+0j
,3j
打印错误,但不会为2
,2.12
等打印任何内容
还可以考虑在变量复杂时抛出错误(
ValueError
或TypeError
)。在NumPy v1.15中,包含一个函数:x
其中,
x
是要识别的数字。一种方法是
if type(x) == complex():
print("Error 05: Complex Root")
正如其他人所指出的,isinstance也有效缩进是否与您的问题完全相同?有什么错误吗?你能在if语句中添加
else
部分吗?那么complex()
呢?您是否应该向它传递一个参数并返回True
或False
?请稍等—如果复数根不是错误怎么办?有时候这是正确的答案。您确定应该将其标记为错误吗?还有numpy.iscomplexobj
,这正是我的案例所需要的。