Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

जटिल संख्या वस्तुओं के लिए कक्षा को परिभाषित करने के लिए पायथन कार्यक्रम

मान लीजिए कि हम निम्नलिखित कार्यों के साथ एक जटिल संख्या वर्ग को परिभाषित करके जटिल संख्या कार्य करना चाहते हैं -

    दो सम्मिश्र संख्याओं को जोड़ने के लिए
  • जोड़ें ()
  • sub() दो सम्मिश्र संख्याओं को घटाने के लिए
  • mul() दो सम्मिश्र संख्याओं को गुणा करने के लिए
  • div() दो सम्मिश्र संख्याओं को विभाजित करने के लिए
  • mod() सम्मिश्र संख्याओं का मापांक प्राप्त करने के लिए

सम्मिश्र संख्याओं को फॉर्म (a + bi) में दिखाया जाएगा। हमारे पास दो सम्मिश्र संख्याएँ हैं, उन पर ये संक्रियाएँ करेंगे। कक्षा के अंदर हम ऐड (), उप (), मल () और डिव () विधियों को अधिभारित करते हैं ताकि हम संचालन करने के लिए ऑपरेटरों का उपयोग कर सकें। हम सम्मिश्र संख्या को उचित रूप में मुद्रित करने के लिए __str__() विधि को भी अधिभारित करते हैं।

इसलिए, यदि इनपुट c1 =2+3i c2 =5-2i जैसा है, तो आउटपुट (7.00 + 1.00i), (-3.00 + 5.00i), (16.00 + 11.00i), (0.14 + 0.66i) होगा। ), 3.61, 5.39.

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • जटिल वर्ग को वास्तविक भाग पुनः और काल्पनिक भाग im के साथ परिभाषित करें
  • एक फंक्शन ऐड () को परिभाषित करें। इसमें o
  • . लगेगा
  • एक नया कॉम्प्लेक्स ऑब्जेक्ट लौटाएं (re + o.re, im + o.im)
  • एक फ़ंक्शन को परिभाषित करें sub() । इसमें o
  • . लगेगा
  • एक नया कॉम्प्लेक्स ऑब्जेक्ट लौटाएं (re - o.re, im - o.im)
  • एक फ़ंक्शन को परिभाषित करें mul() । इसमें o
  • . लगेगा
  • एक नया कॉम्प्लेक्स ऑब्जेक्ट लौटाएं (re * o.re -im * o.im, re * o.im + im * o.re)
  • एक फंक्शन डिव () को परिभाषित करें। इसमें o
  • . लगेगा
  • m :=o.re * o.re + o.im * o.im
  • एक नया कॉम्प्लेक्स नंबर ऑब्जेक्ट लौटाएं ((re * o.re + im * o.im)/m, (im * o.re - re * o.im)/m)
  • एक फ़ंक्शन को परिभाषित करें mod() । इसमें लगेगा
  • (re * re + im * im) का वर्गमूल लौटाएं
  • ओवरलोड __str__().
  • यदि im 0 के समान है, तो
    • दो दशमलव स्थानों तक वापसी करें
  • यदि पुनः 0 के समान है, तो
    • दो दशमलव स्थानों तक वापसी करें
  • अगर मैं <0, तो
    • वापसी पुनः - im i, दोनों (पुनः और im दो दशमलव स्थानों तक हैं)
  • अन्यथा,
    • रिटर्न री + आईएम आई, दोनों (री और आईएम दो दशमलव स्थानों तक हैं)

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें

गणित आयात से im+o.im) def __sub__(self, o):रिटर्न कॉम्प्लेक्स(self.re-o.re, self.im-o.im) def __mul__(self, o):रिटर्न कॉम्प्लेक्स(self.re*o. re-self.im*o.im, self.re * o.im + self.im * o.re) def __truediv__(self, o):m =o.re * o.re + o.im * o. आईएम रिटर्न कॉम्प्लेक्स ((self.re * o.re + self.im * o.im)/m, (self.im * o.re - self.re * o.im)/m) def __str__(self):अगर self.im ==0:वापसी '%.2f'% self.re अगर self.re ==0:वापसी '%.2fi'% self.im अगर self.im <0:वापसी '%.2f -% .2fi'% (self.re, -self.im) अन्य:वापसी '%.2f +%.2fi'% (self.re, self.im) def mod(self):वापसी sqrt(self.re*self) .re+self.im*self.im) def हल (comp1, COMP2):प्रिंट (comp1 + COMP2) प्रिंट (comp1 - COMP2) प्रिंट (comp1 * COMP2) प्रिंट (comp1 / COMP2) प्रिंट ('% .2f') % COMP1.mod ()) प्रिंट ('%.2f'% comp2.mod ())comp1 =कॉम्प्लेक्स(2, 3)comp2 =कॉम्प्लेक्स(5, -2)समाधान(comp1, comp2)

इनपुट

2, 35, -2

आउटपुट

7.00 + 1.00i-3.00 + 5.00i16.00 + 11.00i0.14 + 0.66i3.615.39

  1. एन-वें फाइबोनैचि संख्या के लिए पायथन कार्यक्रम

    इस लेख में, हम nवें फाइबोनैचि संख्या की गणना करेंगे। एक फिबोनाची संख्या नीचे दिए गए पुनरावर्तन संबंध द्वारा परिभाषित किया गया है - Fn = Fn-1 + Fn-2 साथ एफ0 =0 और एफ1 =1. सबसे पहले, कुछ फाइबोनैचि संख्याएं हैं 0,1,1,2,3,5,8,13,.................. हम फाइबोनैचि संख्याओं . की गणना कर सकते हैं रिकर्सन

  1. एनएच कैटलन नंबर के लिए पायथन प्रोग्राम

    इस लेख में, हम nवें कातालान संख्या की गणना के बारे में जानेंगे। कैटलन नंबर प्राकृतिक संख्याओं का एक क्रम है जो पुनरावर्ती सूत्र द्वारा परिभाषित किया जाता है - $$C_{0}=1\:और\:C_{n+1}=\displaystyle\sum\limits_{i=0}^n C_{i}C_{n-i} \:n\geq0;$$ के लिए n =0, 1, 2, 3, … के लिए पहले कुछ कैटलन नंबर 1, 1,

  1. पायथन प्रोग्राम कैसे जांचें कि दी गई संख्या एक फाइबोनैचि संख्या है या नहीं?

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे - समस्या कथन किसी संख्या n को देखते हुए, जाँच करें कि n एक फाइबोनैचि संख्या है या नहीं हम सभी जानते हैं कि nवीं फाइबोनैचि संख्या पिछले दो फाइबोनैचि संख्याओं का योग है। लेकिन वे पुनरावृत्ति संबंध के अलावा एक दिलचस्प संबंध भी प्रस्त