কম্পিউটার টিউটোরিয়াল

পাইথনে দুটি বাক্যের সাদৃশ্য যাচাই করার প্রোগ্রাম


আমাদের দুটি বাক্য আছে s এবং t। আমাদের যাচাই করতে হবে যে آیا তারা একই কিনা। এখানে বাক্যে শুধু ইংরেজি অক্ষর থাকে। দুটি বাক্য একই বলা হয় যখন একটি বাক্যের ভিতরে یک যেকোনো বাক্য (হয়তো খালি) যোগ করে উভয় বাক্যকে সমান করা যায়।

উদাহরণস্বরূপ, ইনপুট s = "we live at city Kolkata", t = "city Kolkata" হলে আউটপুট হবে True কারণ t-তে "we live in" যোগ করলে s পাওয়া যায়।

সমাধানের ধাপসমূহ

  • s1 := s-এর শব্দগুলোর লিস্ট

  • s2 := t-এর শব্দগুলোর লিস্ট

  • যদি s1-এর আকার > s2-এর আকার হয়, তবে:

    • s1 এবং s2 বদলান

  • s1 খালি না হওয়া পর্যন্ত লুপ চালান:

    • যদি s2[0] == s1[0] হয়, তবে:

      • s2-এর প্রথম শব্দ মুছে দিন

      • s1-এর প্রথম শব্দ মুছে দিন

    • অন্যথায়, যদি s2[-1] == s1[-1] হয়, তবে:

      • s2-এর শেষ শব্দ মুছে দিন

      • s1-এর শেষ শব্দ মুছে দিন

    • অন্যথায়:

      • False রিটার্ন করুন

  • True রিটার্ন করুন

উদাহরণ

নিচের ইমপ্লিমেন্টেশনটি দেখুন ভালোভাবে বুঝার জন্য:

def solve(s, t):
    s1 = s.split()
    s2 = t.split()
    if len(s1) > len(s2):
        s1, s2 = s2, s1
    while s1:
        if s2[0] == s1[0]:
            s2.pop(0)
            s1.pop(0)
        elif s2[-1] == s1[-1]:
            s2.pop()
            s1.pop()
        else:
            return False
    return True

s = "we live at city Kolkata"
t = "city Kolkata"
print(solve(s, t))

ইনপুট

"we live at city Kolkata", "city Kolkata"

আউটপুট

True
  1. পাইথনে ব্লকের তালিকা y=x রেখা দিয়ে সিমেট্রিক কিনা যাচাই করার প্রোগ্রাম

  2. পাইথনে দুটি বাইনারি ট্রির লিফ সিকোয়েন্স মিল কিনা যাচাই

  3. পাইথনে দুটি ট্রি নোড স왪 করায় সমান হয় কিনা যাচাই করা (Flip Equivalent Trees)

  4. পাইথনে গ্রাফ বাইপার্টাইট কিনা যাচাই করার প্রোগ্রাম