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

পাইথনে বিগ্রামের পরের শব্দ খুঁজুন (Occurrences After Bigram in Python)


সমস্যা বিবরণ

একটি টেক্স্ট এবং দুটি শব্দ (first, second) দেওয়া আছে। টেক্স্টে "first second third" প্যাটার্ন খুঁজে third শব্দগুলো কালেক্ট করতে হবে। অর্থাৎ first-এর hemen পর second এবং second-এর hemen পর third পাওয়া যাবে।

উদাহরণ: text="lina is a good girl she is a good singer", first="a", second="good" → আউটপুট: ["girl", "singer"]।

সমাধানের পদ্ধতি

  1. টেক্স্টকে স্পেস দিয়ে স্প্লিট করে শব্দের লিস্ট বানান।
  2. লিস্ট ঘুরে i+2 < length এবং words[i]==first এবং words[i+1]==second চেক করুন।
  3. সত্য হলে words[i+2] রেজাল্টে যোগ করুন।

পাইথন উদাহরণ

class Solution(object):
    def findOcurrences(self, text, first, second):
        words = text.split(" ")
        res = []
        for i in range(len(words)):
            if i + 2 < len(words) and words[i] == first and words[i+1] == second:
                res.append(words[i+2])
        return res

ob1 = Solution()
print(ob1.findOcurrences("lina is a good girl she is a good singer", "a", "good"))

ইনপুট

"lina is a good girl she is a good singer" "a" "good"

আউটপুট

['girl', 'singer']

জিপ (zip) ব্যবহার করে সংক্ষিপ্ত

def findOcurrences(text, first, second):
    words = text.split()
    return [w3 for w1, w2, w3 in zip(words, words[1:], words[2:]) 
            if w1 == first and w2 == second]
  1. পাইথন প্লটের বাইরে টেক্সট রাখা

  2. পাইথনে লেবেল (Label) থেকে টেক্সট রিমুভ করা

  3. পাইথন PyGame: উইন্ডোতে টেক্সট (Text) প্রদর্শন করুন

  4. পাইথন Tkinter-এ after মেথড