私はすべてのタイプの数学的アルゴリズム用の電卓アプリケーションを作成しています。しかし、私はルートが複雑であるかどうかを特定し、そのルートに対して例外があることを確認したい。 私はこの思い付いた:複素数の特定
if x == complex():
print("Error 05: Complex Root")
しかし、何も特定されていないか、私はアプリを実行したときにx
が複雑なルートであることを知って、印刷されました。
私はすべてのタイプの数学的アルゴリズム用の電卓アプリケーションを作成しています。しかし、私はルートが複雑であるかどうかを特定し、そのルートに対して例外があることを確認したい。 私はこの思い付いた:複素数の特定
if x == complex():
print("Error 05: Complex Root")
しかし、何も特定されていないか、私はアプリを実行したときにx
が複雑なルートであることを知って、印刷されました。
私はあなたが求めているものを100%わからないんだけど、あなたは変数が複雑な型であるかどうかを確認したい場合は、isinstanceを使用することができます。例えば、
x = 5j
if isinstance(x, complex):
print 'X is complex'
プリント
X is complex
ありがとう!できます! – enginefree
これを試してみてください:
if isinstance(x, complex):
print("Error 05: Complex Root")
これは、3j
、2 + 0j
のエラーを出力しますが、2
のために何を印刷しないなど2.12
また、スローイについて考える変数が複雑な場合はエラー(ValueError
またはTypeError
)。
インデントはあなたの質問とまったく同じですか?何かエラーがありますか? 'if'文の' else'部分を追加できますか? 'complex()'はどうでしょうか?引数を渡して 'True'か' False'を返すべきではありませんか? – Tadeck
ちょっと待ってください。複雑なルートがエラーではない場合はどうなりますか?時には正しい答えです。あなたはそれがエラーとしてフラグを付けられるべきであると確信していますか? – duffymo