কম্পিউটার

পাইথনে শুধুমাত্র অক্ষর বিপরীত করুন


ধরুন আমাদের একটি স্ট্রিং S আছে, আমাদের বিপরীত স্ট্রিংটি খুঁজে বের করতে হবে যেখানে একটি অক্ষর নয় এমন সমস্ত অক্ষর তাদের অবস্থান পরিবর্তন করবে না এবং সমস্ত অক্ষর তাদের অবস্থানগুলিকে বিপরীত করবে। তাই যদি প্রদত্ত স্ট্রিংটি "a-bC-dEf-ghIj" হয়, তাহলে আউটপুট হবে "j-Ih-gfE-dCba"

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

  • এটি সমাধান করতে আমরা রেগুলার এক্সপ্রেশন লাইব্রেরি ব্যবহার করব
  • যদি S খালি হয়, তাহলে S ফেরত দিন
  • str :=একটি খালি স্ট্রিং, index1 :=0 এবং index2 :=S – 1 এর দৈর্ঘ্য
  • যখন index1 এর দৈর্ঘ্য
  • যদি index2>=0 এবং S[index1] বর্ণমালা হয় এবং S[index2] হয় বর্ণমালা
    • str :=str + S[index2]
    • index2 1 দ্বারা হ্রাস করুন এবং 1 দ্বারা index1 বাড়ান
  • অন্যথায় যদি S[index1] বর্ণমালা হয় তাহলে index2 1 দ্বারা কমিয়ে দিন
  • অন্যথায় যদি S[index1] বর্ণমালা না হয়, তাহলে str :=str + S[index1], index1 1 দ্বারা বাড়ান
  • অন্যথায় সূচক2 1 দ্বারা হ্রাস করুন এবং 1 দ্বারা সূচক 1 বাড়ান
  • রিটার্ন str
  • উদাহরণ

    আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

    class Solution:
       def reverseOnlyLetters(self, S):
          if not S:
             return S
          str_= ""
          index1 = 0
          index2 = len(S)-1
          while index1<len(S):
             #print(index1,index2)
             if index2>=0 and S[index1].isalpha() and S[index2].isalpha():
                str_+=S[index2]
                index2 -= 1
                index1 += 1
             elif S[index1].isalpha():
                index2-=1
             elif not S[index1].isalpha():
                str_+=S[index1]
                index1+=1
             else:
                index2 -= 1
                index1 += 1
          return str_
    ob1 = Solution()
    print(ob1.reverseOnlyLetters("a-bC-dEf-ghIj"))

    ইনপুট

    "a-bC-dEf-ghIj"

    আউটপুট

    "j-Ih-gfE-dCba"

    1. কিভাবে Python একটি স্ট্রিং বিপরীত?

    2. পাইথনে একটি স্ট্রিং শুধুমাত্র হোয়াইটস্পেস অক্ষর রয়েছে কিনা তা কিভাবে পরীক্ষা করবেন?

    3. পাইথনে একটি স্ট্রিংটিতে শুধুমাত্র বড় হাতের অক্ষর রয়েছে কিনা তা কীভাবে পরীক্ষা করবেন?

    4. পাইথনে একটি স্ট্রিংয়ে শুধুমাত্র ছোট হাতের অক্ষর রয়েছে কিনা তা কীভাবে পরীক্ষা করবেন?