उन्नत पायथन विकास पाठ्यक्रम
अध्याय
>
स्तर
गणित मॉड्यूल्स
गणित मॉड्यूल विस्तारित
उद्देश्य
गणित मॉड्यूल द्वारा आयात किए गए और अधिक कार्यों का उपयोग करके फार्म के लिए नई भूमि विस्तार की गणना करें।
पुल के उस पार, एनक्स में कुछ ऑफिस हैं जिनका उपयोग उस गैर-मिलेजुले क्षेत्र के सर्वेक्षण के लिए किया जाता है, जो फार्म के दो विभिन्न हिस्सों को जोड़ता है। यहां हम कुछ भूमि के आयाम और माप ढूंढ़ेंगे; इन्हें क्रमबद्ध करना और डेटा को दस्तावेज करना एक अच्छा विचार होगा। आप इसे math मॉड्यूल का उपयोग करके पूरा कर सकते हैं, इस स्तर में हमें इसके नए कार्यों के सेट से परिचित कराया जाएगा जिन्हें हम डेटा प्रोसेसिंग के लिए उपयोग कर सकते हैं। आप समान import math और math. का उपयोग करते हुए इस सेट के कार्यों का उपयोग कर सकते हैं:
math.radians(): डिग्री को रेडियन/कोणों में परिवर्तित करता है।math.floor(): संख्या को एक आधार संख्या तक नीचे राउंड करता है।math.ceil(): संख्या को एक उच्च संख्या तक ऊपर राउंड करता है।math.atan2(): दो संख्याओं के बीच आर्क टैन्जेंट (रेडियन में) लौटाता है।math.isclose(): जांचता है कि क्या दो संख्याएं एक-दूसरे के करीब हैं, सत्य/असत्य लौटाता हैmath.fsum(): सूची या iterable से फ्लोट पॉइंट (दशमलव) संख्याओं को एक साथ जोड़ता है।math.dist(): दो बिंदुओं के बीच दूरी की जांच करता है, मानों को सूची या iterable होना चाहिए।
चार्ट से कच्चे डेटा को इकट्ठा करना शुरू करें, लाल और नीले कार्पेट पर स्थित हल्के X चिह्नों के पास जाकर। माप लेने के लिए आवश्यक कच्चे आयामों की पहचान करने हेतु read() फ़ंक्शन का उपयोग करें। ये माप पहले से ही चार स्थायी चर (constants) में संग्रहित हैं जिनके नाम हैं: red_x, red_y, blue_x और blue_y
एक बार जब दोनों डेटा सेट की पहचान हो जाए, तो नारंगी कार्पेट पर स्थित गहरे X चिह्न की ओर जाएँ और मेज की ओर मुख करें। blue_x और blue_y चर को रेडियन में परिवर्तित करने और उन्हें ऊपर राउंड करने के लिए math.radians() और math.ceil() का उपयोग करें। सुनिश्चित करने के लिए कि ये स्थायी मान दशमलव हैं जिन्हें संपादित किया जा सकता है, float() का उपयोग करें। उदाहरण के लिए, blue_x चर के लिए: रेडियन में परिवर्तित करें blue_x = math.radians(float(blue_x)) और मान को ऊपर राउंड करें blue_x = math.ceil(float(blue_x))। इसी प्रकार blue_y के साथ भी करें, एक बार पूरा होने पर, पूर्व-लिखित write() फ़ंक्शन का उपयोग करें और blue_x तथा blue_y चर को क्रम में चार्ट करें।
हरे कार्पेट पर स्थित गहरे X चिह्न की ओर जाएँ और math.radians() तथा math.floor() का उपयोग करके red_x और red_y चर को रेडियन में परिवर्तित करें और उन्हें नीचे राउंड करें। उदाहरण के लिए, red_x चर के लिए: रेडियन में परिवर्तित करें red_x = math.radians(red_x) और मान को नीचे राउंड करें blue_x = math.floor(red_x)। इसी प्रकार red_y के साथ भी करें, एक बार पूरा होने पर, पूर्व-लिखित write() फ़ंक्शन का उपयोग करें और red_x तथा red_y चर को क्रम में चार्ट करें।
सोने के X चिह्न पर जाएँ और मेज की ओर मुख करें, यहाँ हम दो नए चर, data_a और data_b बनाएंगे। यहाँ हम math.atan2 फ़ंक्शन का उपयोग करके प्रत्येक सेट का आर्च टैन्जेंट संग्रहित करेंगे। data_a के लिए हम blue_x और blue_y चर का उपयोग करके फ़ंक्शन को इस तरह भरते हैं: data_a = math.atan2(blue_x,blue_y)। data_b के लिए, उसी प्रकार से red_x और red_y का उपयोग करें। एक बार पूरा होने पर, पूर्व-लिखित write() फ़ंक्शन का उपयोग करें और data_a तथा data_b चर को क्रम में चार्ट करें।
अब जब निचले डेस्कों का काम पूरा हो चुका है, तो बैंगनी कार्पेट पर स्थित गहरे X चिह्न की ओर जाएँ, एक चर नाम comparison बनाएं और इसे math.isclose() फ़ंक्शन के साथ उपयोग करें, जिसमें data_a और data_b तर्क के रूप में पास करें, इस प्रकार: comparison = math.isclose(data_a, data_b)। इस X चिह्न पर पूर्व-लिखित write() फ़ंक्शन के साथ comparison चर का उपयोग करें।
सफेद कार्पेट पर स्थित X चिह्न की ओर जाएँ, एक सूची data_list बनाएं और उसमें क्रम से data_a तथा data_b जोड़ें। एक चर total बनाएं और data_list को तर्क के रूप में उपयोग करते हुए math.fsum() फ़ंक्शन का उपयोग करें, इस प्रकार: total = math.fsum(data_list)। इस X चिह्न पर पूर्व-लिखित write() फ़ंक्शन के साथ total चर का उपयोग करें।
पीले कार्पेट पर स्थित गहरे X चिह्न की ओर जाएँ और मेज की ओर मुख करें, data_a तथा data_b को व्यक्तिगत सूची मानों में परिवर्तित करें, उदाहरण के लिए data_a के लिए करें: data_a = [data_a]। data_b के लिए भी ऐसा ही करें ताकि दोनों चर math.dist() फ़ंक्शन के उपयोग के लिए iterable बन जाएँ। एक चर distance बनाएं और math.dist() का मान संग्रहीत करने के लिए इसका उपयोग करें, जिसमें data_a और data_b को तर्क के रूप में पास करें। स्तर को पूरा करने के लिए पूर्व-लिखित write() फ़ंक्शन के साथ distance चर का उपयोग करें।