কম্পিউটার

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


ধরুন আমাদের একটি বাইনারি স্ট্রিং s এবং আরেকটি মান m আছে, আমাদের পরীক্ষা করতে হবে যে স্ট্রিংটিতে m পরপর 1 আছে নাকি m পরপর 0 আছে।

সুতরাং, যদি ইনপুটটি s ="1110111000111", m =3 এর মত হয়, তাহলে আউটপুটটি True হবে কারণ সেখানে পরপর তিনটি 0s এবং 1s আছে।

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

  • str_size :=s এর আকার
  • count_0 :=0, count_1 :=0
  • আমি 0 থেকে str_size - 2 রেঞ্জের জন্য, কর
    • যদি s[i] '0' এর মত হয়, তাহলে
      • count_1 :=0
      • count_0 :=count_0 + 1
    • অন্যথায়,
      • count_0 :=0
      • count_1 :=count_1 + 1
    • যদি count_0 m এর সমান বা count_1 m এর সমান, তাহলে
      • সত্য ফেরান
  • মিথ্যে ফেরত দিন

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

উদাহরণ

def solve(s, m):
   str_size = len(s)
   count_0 = 0
   count_1 = 0
   for i in range(0, str_size - 1):
      if (s[i] == '0'):
         count_1 = 0
         count_0 += 1
      else :
         count_0 = 0
         count_1 += 1
      if (count_0 == m or count_1 == m):
         return True
   return False
s = "1110111000111"
m = 3
print(solve(s, m))

ইনপুট

"1110111000111", 3

আউটপুট

True

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

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

  3. পাইথনে একটি স্ট্রিং অন্তত একটি অক্ষর এবং একটি সংখ্যা আছে কিনা তা কিভাবে পরীক্ষা করবেন?

  4. পাইথনে একটি স্ট্রিং এর বর্ণমালা বা সংখ্যা আছে কিনা তা আমি কিভাবে পরীক্ষা করব?