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

पायथन में बहुभुज का परिमाप खोजने का प्रोग्राम


मान लीजिए हमारे पास एक 2D तल पर एक साधारण बहुभुज के अंतिम बिंदुओं को दर्शाने वाले क्रमबद्ध बिंदुओं की सूची है। हमें इस बहुभुज का परिमाप ढूंढना है।

उदाहरण के लिए, यदि इनपुट points = [(0, 0), (0,5), (3, 5), (3,0)] है, तो आउटपुट 16 होगा क्योंकि

पायथन में बहुभुज का परिमाप खोजने का प्रोग्राम

दो भुजाएं लंबाई 3 की हैं और दो भुजाएं लंबाई 5 की हैं, तो 2*5 + 2*3 = 16।

समाधान दृष्टिकोण

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

  • getInfo() नामक एक फंक्शन परिभाषित करें। यह x1, y1, x2, y2 लेगा
    • ((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)) का वर्गमूल लौटाएं जो यूक्लिडियन दूरी है
    • (x1, y1) और (x2, y2) के बीच
  • मुख्य विधि से, निम्न करें
    • N := points का आकार
    • (firstx, firsty) := points[0]
    • (prevx, prevy) := (firstx, firsty)
    • res := 0
    • i के लिए 1 से N-1 तक की रेंज में, करें
      • (nextx, nexty) := points[i]
      • res := res + getInfo(prevx, prevy, nextx, nexty)
      • prevx := nextx
      • prevy := nexty
    • res := res + getInfo(prevx, prevy, firstx, firsty)
    • res लौटाएं

उदाहरण

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

from math import sqrt

def getInfo(x1, y1, x2, y2):
    return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))

def solve(points):
    N = len(points)
    firstx, firsty = points[0]
    prevx, prevy = firstx, firsty
    res = 0
    for i in range(1, N):
        nextx, nexty = points[i]
        res = res + getInfo(prevx, prevy, nextx, nexty)
        prevx = nextx
        prevy = nexty
    res = res + getInfo(prevx, prevy, firstx, firsty)
    return res

points = [(0, 0), (0,5), (3, 5), (3,0)]
print(solve(points))

इनपुट

[(0, 0), (0,5), (3, 5), (3,0)]

आउटपुट

16.0
  1. पायथन में बहुभुज का क्षेत्रफल खोजने का प्रोग्राम पायथन में बहुभुज का क्षेत्रफल खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक 2D तल पर एक साधारण बहुभुज के अंतिम बिंदुओं को दर्शाने वाले क्रमबद्ध बिंदुओं की सूची है। हमें इस बहुभुज का क्षेत्रफल ढूंढना है।उदाहरण के लिए, यदि इनपुट points = [(0, 0), (0,5), (3, 5), (3,0)] है, तो आउटपुट 15 होगा।समाधान दृष्टिकोणइसे हल करने के लिए हम निम्न चरणों का पालन करेंगे

  1. पायथन प्रोग्राम: सिलेंडर का परिमाप ढूंढें पायथन प्रोग्राम: सिलेंडर का परिमाप ढूंढें

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट व्यास और ऊंचाई इनपुट करें, सिलेंडर का परिमाप ढूंढें। परिमाप सिलेंडर का साइड व्यू है यानी एक आयत। इसलिए परिमाप = 2 * (h + d) यहां d सिलेंडर का व्यास है h सिलेंडर की ऊंचाई है आइए कार्यान्वयन देखें: उदा

  1. पायथन प्रोग्राम: सिलेंडर का परिमाप ज्ञात करें पायथन प्रोग्राम: सिलेंडर का परिमाप ज्ञात करें

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे -समस्या कथन - व्यास और ऊंचाई इनपुट करें, सिलेंडर का परिमाप ज्ञात करेंपरिमाप सिलेंडर का साइड व्यू है यानी एक आयतइसलिए Perimeter = 2 * (h + d)यहां d सिलेंडर का व्यास हैh सिलेंडर की ऊंचाई हैअब आइए कार्यान्वयन देखते हैंउदाहरण# सिलेंडर क