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

पायथन में संस्करण संख्याओं की तुलना करें

मान लीजिए हमारे पास दो संस्करण संख्याएं version1 और version2 हैं जिनकी तुलना करनी है। यदि version1 > version2 तो 1 लौटाएं; अन्यथा जब version1 < version2 तो -1 लौटाएं; अन्यथा 0 लौटाएं। हम मान सकते हैं कि संस्करण स्ट्रिंग्स गैर-खाली हैं और केवल अंक और डॉट (.) वर्ण शामिल करते हैं। डॉट वर्ण दशमलव बिंदु का प्रतिनिधित्व नहीं करता है और संख्या अनुक्रमों को अलग करने के लिए उपयोग किया जाता है। इसलिए उदाहरण के लिए, 2.5 "ढाई" या "संस्करण तीन तक आधा" नहीं है, यह दूसरी पहली-स्तरीय संशोधन का पांचवां द्वितीय-स्तरीय संशोधन है।

हम प्रत्येक स्तर के लिए डिफ़ॉल्ट संशोधन संख्या को 0 मान सकते हैं। उदाहरण के लिए, संस्करण संख्या 3.4 के लिए इसके पहले और दूसरे स्तर के संशोधन संख्या 3 और 4 हैं। इसके तीसरे और चौथे स्तर के संशोधन संख्या दोनों 0 हैं।

इसलिए यदि इनपुट version1 = "1.0.1" और version2 = "1" है, तो यह +1 लौटाएगा।

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

  • version1_arr = version1 के लिए डॉट द्वारा अलग की गई संख्याओं की एक सरणी
  • version2_arr = version2 के लिए डॉट द्वारा अलग की गई संख्याओं की एक सरणी
  • i के लिए 0 से version1_arr और version2_arr के आकार के अधिकतम तक की रेंज में -
    • v1 := version1_arr[i] यदि i < version1_arr का आकार, अन्यथा 0
    • v2 := version2_arr[i] यदि i < version2_arr का आकार, अन्यथा 0
    • यदि v1 > v2, तो 1 लौटाएं, अन्यथा जब v1 < v2, -1 लौटाएं
  • 0 लौटाएं

उदाहरण (पायथन)

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

class Solution:
    def compareVersion(self, version1, version2):
        versions1 = [int(v) for v in version1.split(".")]
        versions2 = [int(v) for v in version2.split(".")]
        for i in range(max(len(versions1), len(versions2))):
            v1 = versions1[i] if i < len(versions1) else 0
            v2 = versions2[i] if i < len(versions2) else 0
            if v1 > v2:
                return 1
            elif v1 < v2:
                return -1
        return 0

ob1 = Solution()
print(ob1.compareVersion("1.0.1", "1.0"))

इनपुट

"1.0.1" "1.0"

आउटपुट

1
  1. - पायथन में कॉम्प्लेक्स नंबर्स

    पायथन में कॉम्प्लेक्स नंबर्स बिल्ट-इन टाइप हैं, जिन्हें डायरेक्ट असाइनमेंट या complex() फ़ंक्शन से बनाया जा सकता है। बनाना और बुनियादी गुण >>> c = 3 + 6j >>> type(c) >>> c1 = complex(3, 6) >>> c1 (3+6j) एट्रिब्यूट्स >>> c = 3 + 6j >>> c.real

  1. - पायथन में रैंडम नंबर्स

    व्याख्यापायथन में रैंडम नंबर्स जनरेट करने के लिए कुछ फंक्शन्स होते हैं। इनका उपयोग बहुत सारे गेम्स, लॉटरी आदि में किया जा सकता है जहां रैंडम नंबर्स जनरेट करने की आवश्यकता होती है।कुछ फंक्शन्स जो रैंडम नंबर्स जनरेट करते हैं:choice()इस फंक्शन का उपयोग नंबर्स के कलेक्शन से एक रैंडम नंबर जनरेट करने के ल

  1. - पायथन में संख्याओं की तुलना कैसे करें

    समस्या विवरण आप पायथन में रिलेशनल ऑपरेटर का उपयोग करके संख्याओं (फ्लोट और int दोनों) की तुलना कर सकते हैं। ये ऑपरेटर उनके दोनों तरफ के मानों की तुलना करते हैं और उनके बीच संबंध तय करते हैं। मान लें वेरिएबल a में 10 है और वेरिएबल b में 20 है, तो: ऑपरेटरउदाहरण ==(a == b) सही नहीं है। !=(a != b) सही ह