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

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


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

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

. है

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

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

  • version1_arr =संस्करण 1 के लिए डॉट द्वारा अलग की गई संख्याओं की एक सरणी

  • version2_arr =संस्करण 2 के लिए डॉट द्वारा अलग की गई संख्याओं की एक सरणी

  • मैं के लिए 0 से अधिकतम version1_arr के आकार और version2_arr के आकार में -

    • v1:=version1_arr[i] अगर मैं

    • v2 :=version2_arr[i] अगर मैं

    • अगर v1> v2, तो 1 लौटाएं, अन्यथा जब v1

  • वापसी 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. पायथन में जटिल संख्याएं?

    वास्तविक संख्याओं से एक सम्मिश्र संख्या बनाई जाती है। पायथन कॉम्प्लेक्स नंबर या तो डायरेक्ट असाइनमेंट स्टेटमेंट का उपयोग करके या कॉम्प्लेक्स () फ़ंक्शन का उपयोग करके बनाया जा सकता है। सम्मिश्र संख्याएँ जिनका अधिकतर उपयोग वहाँ किया जाता है जहाँ हम दो वास्तविक संख्याओं का उपयोग कर रहे होते हैं। उदाहर

  1. पायथन में यादृच्छिक संख्या

    स्पष्टीकरण यादृच्छिक संख्या उत्पन्न करने के लिए पायथन के कुछ कार्य हैं। उनका उपयोग बहुत सारे खेलों, लॉटरी आदि में किया जा सकता है जहाँ उत्पन्न करने के लिए यादृच्छिक संख्या की आवश्यकता होती है। कुछ फ़ंक्शन ऐसे हैं जो यादृच्छिक संख्याएँ उत्पन्न करते हैं - पसंद () इस फ़ंक्शन का उपयोग संख्याओं के संग

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

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