কম্পিউটার

একটি স্ট্রিং এর প্রত্যয় এবং উপসর্গ পাইথনে প্যালিনড্রোম কিনা তা পরীক্ষা করুন


ধরুন আমাদের একটি স্ট্রিং s আছে, আমাদের পরীক্ষা করতে হবে যে স্ট্রিং প্যালিনড্রোম তার উপসর্গ এবং প্রত্যয় সাবস্ট্রিং হিসাবে আছে কি না।

সুতরাং, যদি ইনপুটটি s ="levelishighforracecar" এর মত হয়, তাহলে আউটপুটটি True হবে কারণ প্যালিনড্রোম উপসর্গ এবং প্রত্যয় রয়েছে:যথাক্রমে "level" এবং "racecar"।

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

  • l :=s এর আকার
  • 2 থেকে l + 2 রেঞ্জের জন্য,
      করুন
    • যদি সূচী i পর্যন্ত s এর সাবস্ট্রিং প্যালিনড্রোম হয়, তাহলে
      • লুপ থেকে বেরিয়ে আসুন
    • যদি i(l + 1) এর মত হয়, তাহলে
      • মিথ্যে ফেরত দিন
    • 2 থেকে l + 2 রেঞ্জের জন্য,
        করুন
      • যদি সূচক (l - i) থেকে (l - 1) পর্যন্ত s এর সাবস্ট্রিং প্যালিনড্রোম হয়, তাহলে
        • সত্য ফেরান
    • মিথ্যে ফেরত দিন

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

উদাহরণ কোড

def is_palindrome(s):
   return s == s[::-1]  
 
def solve(s):
   l = len(s)
   for i in range(2, l + 1):
      if is_palindrome(s[0:i]):
         break
     
   if i == (l + 1):
      return False
 
   for i in range(2, l + 1):
      if is_palindrome(s[l - i : l]):
         return True
     
   return False  

s = "levelishighforracecar"
print(solve(s))

ইনপুট

"levelishighforracecar"

আউটপুট

True

  1. পাইথনে স্ট্রিং-এ সাবস্ট্রিং উপস্থিত আছে কিনা তা পরীক্ষা করুন

  2. Python - একটি ভেরিয়েবল স্ট্রিং কিনা তা পরীক্ষা করুন

  3. পাইথনে একটি স্ট্রিং আলফানিউমেরিক কিনা তা কীভাবে পরীক্ষা করবেন?

  4. পাইথনে প্রত্যয় দিয়ে স্ট্রিং বা স্ট্রিংয়ের একটি সাবস্ট্রিং শেষ হয় কিনা তা কীভাবে পরীক্ষা করবেন?