Reputation:
I am creating a calculator application for all types of mathematical algorithms. However, I want to identify if a root is complex and then have an exception for it. I came up with this:
if x == complex():
print("Error 05: Complex Root")
However, nothing is identified or printed when I run the app, knowing that x
is a complex root.
Upvotes: 12
Views: 38159
Reputation: 85
One way to do it could be to do,
if type(x) == complex():
print("Error 05: Complex Root")
As others have pointed out, isinstance works too
Upvotes: 0
Reputation: 993
In NumPy v1.15, a function is included: numpy.iscomplex(x)
where x
is the number, that is to be identified.
Upvotes: 6
Reputation: 137370
Try this:
if isinstance(x, complex):
print("Error 05: Complex Root")
This prints error for 2 + 0j
, 3j
, but does not print anything for 2
, 2.12
etc.
Also think about throwing an error (ValueError
or TypeError
) when the variable is complex.
Upvotes: 9
Reputation: 14458
I'm not 100% sure what you're asking, but if you want to check if a variable is of complex type you can use isinstance. For example,
x = 5j
if isinstance(x, complex):
print 'X is complex'
prints
X is complex
Upvotes: 28