2012-03-21 14 views
5

पहचानना मैं सभी प्रकार के गणितीय एल्गोरिदम के लिए कैलकुलेटर एप्लिकेशन बना रहा हूं। हालांकि, मैं यह पहचानना चाहता हूं कि रूट जटिल है या नहीं और इसके लिए अपवाद है। मैं इस के साथ आया था:एक जटिल संख्या

if x == complex(): 
    print("Error 05: Complex Root") 

हालांकि, कुछ भी नहीं पहचान या मुद्रित जब मैं अनुप्रयोग चलाने, जानते हुए भी कि x एक जटिल जड़ है।

+0

क्या इंडेंट्स आपके प्रश्न में बिल्कुल हैं? क्या कोई त्रुटि है? क्या आप 'if' कथन का 'else' हिस्सा जोड़ सकते हैं? 'जटिल()' के बारे में क्या? क्या आपको इसके लिए कोई तर्क नहीं देना चाहिए और 'सही' या 'गलत' वापस करना चाहिए? – Tadeck

+2

एक सेकंड प्रतीक्षा करें - क्या होगा यदि जटिल रूट कोई त्रुटि नहीं है? कभी-कभी यह सही जवाब है। क्या आप वाकई इसे एक त्रुटि के रूप में चिह्नित किया जाना चाहिए? – duffymo

उत्तर

12

मैं नहीं 100% यकीन है कि आप क्या कह रहे हैं, लेकिन आप isinstance उपयोग कर सकते हैं आप की जाँच करना चाहते हैं, तो एक चर जटिल प्रकार का है। उदाहरण के लिए,

x = 5j 
if isinstance(x, complex): 
    print 'X is complex' 

प्रिंट

X is complex 
+0

धन्यवाद! यह काम करता हैं! – enginefree

7
>>> isinstance(1j, complex) 
True 
+0

धन्यवाद! यह भी काम करता है! – enginefree

6

इस प्रयास करें:

if isinstance(x, complex): 
    print("Error 05: Complex Root") 

यह 2 + 0j के लिए त्रुटि प्रिंट, 3j, लेकिन 2 के लिए कुछ भी प्रिंट नहीं है, 2.12 आदि

थ्रोई के बारे में भी सोचें एनजी एक त्रुटि (ValueError या TypeError) जब चर जटिल है।

संबंधित मुद्दे