কম্পিউটার

পাইথনে সংস্করণ সংখ্যা তুলনা করুন


ধরুন আমাদের দুটি সংস্করণ সংখ্যা সংস্করণ 1 এবং সংস্করণ 2 তুলনা করতে হবে৷ যদি version1> version2 হয় তাহলে রিটার্ন 1; অন্যথায় যখন version1

আমরা ধরে নিতে পারি একটি সংস্করণ নম্বরের প্রতিটি স্তরের জন্য ডিফল্ট পুনর্বিবেচনা নম্বরটি 0। উদাহরণস্বরূপ, সংস্করণ নম্বর 3.4 এর প্রথম এবং দ্বিতীয় স্তরের সংশোধন নম্বরের জন্য 3 এবং 4 এর একটি সংশোধন নম্বর রয়েছে। এর তৃতীয় এবং চতুর্থ স্তরের সংশোধন সংখ্যা উভয়ই 0।

সুতরাং যদি ইনপুটটি সংস্করণ 1 ="1.0.1" এবং সংস্করণ 2 ="1" এর মতো হয়, তবে এটি +1 ফেরত দেবে।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • version1_arr =সংস্করণ1

    এর জন্য ডট দ্বারা পৃথক করা সংখ্যার একটি অ্যারে
  • version2_arr =সংস্করণ2

    এর জন্য ডট দ্বারা পৃথক করা সংখ্যার একটি অ্যারে
  • আমার জন্য 0 থেকে সর্বোচ্চ সংস্করণ 1_arr এর আকার এবং সংস্করণ2_arr -

    • v1 :=version1_arr[i] যদি i

    • v2 :=version2_arr[i] যদি 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. পাইথনে প্রথম খারাপ সংস্করণ

  2. পাইথনে জটিল সংখ্যা?

  3. পাইথনে এলোমেলো সংখ্যা

  4. পাইথনে সংখ্যার তুলনা কিভাবে?