我正在爲所有類型的數學算法創建一個計算器應用程序。但是,我想確定一個根是否複雜,然後有一個例外。 我想出了這個:識別複數
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 2012-03-22 00:00:28
試試這個:
if isinstance(x, complex):
print("Error 05: Complex Root")
這將打印錯誤2 + 0j
,3j
,但2
不顯示任何信息,2.12
等
也想想throwi當變量很複雜時發生錯誤(ValueError
或TypeError
)。
縮進與您的問題完全相同嗎?有沒有錯誤?你可以添加'if'語句的'else'部分嗎?怎麼樣'複雜()'?你不應該通過一個參數並返回「真」或「假」嗎? – Tadeck 2012-03-21 23:57:16
等一下 - 如果一個複雜的根不是一個錯誤呢?有時候這是正確的答案。你確定它應該被標記爲錯誤嗎? – duffymo 2012-03-22 00:02:13