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

पायथन में ध्रुवीय कोणों के आधार पर कार्टेशियन बिंदुओं के दिए गए सेट को क्रमबद्ध करने का कार्यक्रम

मान लीजिए कि हमारे पास एक सूची में कार्टेशियन बिंदुओं का एक सेट है जिसे अंक कहा जाता है। हमें उन्हें उनके ध्रुवीय कोणों के आधार पर क्रमबद्ध करना होगा। ध्रुवीय कोण 0 और 2*PI श्रेणी में भिन्न होते हैं। यदि कुछ बिंदुओं में समान ध्रुवीय कोण हैं, तो उन्हें उस बिंदु की मूल बिंदु से दूरी के आधार पर व्यवस्थित करें।

तो, यदि इनपुट अंक की तरह है =[(1,1), (1,-2),(-2,2),(5,4),(4,5),(2,3),(- 3,4)],

पायथन में ध्रुवीय कोणों के आधार पर कार्टेशियन बिंदुओं के दिए गए सेट को क्रमबद्ध करने का कार्यक्रम

तो आउटपुट [(5, 4), (1, 1), (4, 5), (2, 3), (-3, 4), (-2, 2), (1, -2) होगा। ]

पायथन में ध्रुवीय कोणों के आधार पर कार्टेशियन बिंदुओं के दिए गए सेट को क्रमबद्ध करने का कार्यक्रम

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

  • तुलनात्मक फ़ंक्शन key() परिभाषित करें। इसमें x लगेगा
  • अतन:=x[1]/x[0]
  • का तन-व्युत्क्रम
  • वापसी जोड़ी (एतन, x[1]^2+x[0]^2) अगर अतन>=0 अन्यथा (2*pi + atan, x[0]^2+x[1]^2)
  • फिर तुलनित्र फ़ंक्शन कुंजी () का उपयोग करके अंक सॉर्ट करें ()

उदाहरण

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

import math
def solve(points):
   def key(x):
      atan = math.atan2(x[1], x[0])
      return (atan, x[1]**2+x[0]**2) if atan >= 0 else (2*math.pi + atan, x[0]**2+x[1]**2)

   return sorted(points, key=key)

points = [(1,1), (1,-2),(-2,2),(5,4),(4,5),(2,3),(-3,4)]
print(solve(points))

इनपुट

[(1,1), (1,-2),(-2,2),(5,4),(4,5),(2,3),(-3,4)]

आउटपुट

[(5, 4), (1, 1), (4, 5), (2, 3), (-3, 4), (-2, 2), (1, -2)]

  1. कॉकटेल सॉर्ट के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें दी गई सूची पर बिटोनिक सॉर्ट करने और सूची प्रदर्शित करने की आवश्यकता है कॉकटेल सॉर्ट करें - यहां सॉर्ट बबल सॉर्ट की तरह होता है जहां दोनों दिशाओं में पुनरावृत्ति होती है। एल्गोरिदम सबसे

  1. पायथन प्रोग्राम में सिलेक्शन सॉर्ट

    इस लेख में, हम Python 3.x में सिलेक्शन सॉर्ट और उसके कार्यान्वयन के बारे में जानेंगे। या पहले। चयन क्रम . में एल्गोरिथम, एक सरणी को पुनरावर्ती रूप से अनसोल्ड भाग से न्यूनतम तत्व ढूंढकर और शुरुआत में सम्मिलित करके सॉर्ट किया जाता है। किसी दिए गए सरणी पर चयन क्रम के निष्पादन के दौरान दो उप-सरणी बनते

  1. चयन क्रम के लिए पायथन कार्यक्रम

    इस लेख में, हम Python 3.x में सिलेक्शन सॉर्ट और उसके कार्यान्वयन के बारे में जानेंगे। या पहले। चयन क्रम . में एल्गोरिथम, एक सरणी को पुनरावर्ती रूप से अनसोल्ड भाग से न्यूनतम तत्व ढूंढकर और शुरुआत में सम्मिलित करके सॉर्ट किया जाता है। किसी दिए गए सरणी पर चयन क्रम के निष्पादन के दौरान दो उप-सरणी बनते