Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में पैटर्न को बोल्ड टैग में संलग्न करने का प्रोग्राम


मान लीजिए हमारे पास एक टेक्स्ट और पैटर्न नामक स्ट्रिंग्स की एक सूची है, हमें एक embolden फ़ंक्शन परिभाषित करना है जहां टेक्स्ट में सभी सबस्ट्रिंग्स जो दी गई पैटर्न में किसी भी स्ट्रिंग से मेल खाते हैं, उन्हें और टैग में लपेटा जाता है। यदि कोई दो पैटर्न आसन्न या ओवरलैप होते हैं, तो उन्हें एक टैग में मर्ज किया जाना चाहिए।

उदाहरण के लिए, यदि इनपुट है text = "thisissampleline" patterns = ["this", "issam", "sample"], तो आउटपुट होगा "abcdefg", क्योंकि bc और ef टेक्स्ट से मेल खाते हैं और और टैग में लपेटे जाते हैं।

इसे हल करने के लिए, हम निम्न चरणों का पालन करेंगे

  • n := text का आकार
  • bold := आकार n की एक सूची, और False मानों से भरें
  • i को 0 से n तक रेंज में, करें
    • patterns में प्रत्येक p के लिए, करें
      • यदि text[इंडेक्स i से अंत तक] का सबस्ट्रिंग p से शुरू होता है, तो
        • j को 0 से p के आकार तक रेंज में, करें
          • bold[i + j] := True
  • ans := खाली स्ट्रिंग
  • i को 0 से n तक रेंज में, करें
    • यदि bold[i] और (i 0 के समान है या bold[i - 1] false है) , तो
      • ans := ans concatenate ""
    • ans := ans + text[i]
    • यदि bold[i] और (i n - 1 के समान है या bold[i + 1] false है) , तो
      • ans := ans concatenate ""
  • ans लौटाएं

बेहतर समझ के लिए निम्न कार्यान्वयन देखें

उदाहरण

class Solution:    def solve(self, text, patterns):       n = len(text)       bold = [False] * n       for i in range(n):          for p in patterns:             if text[i:].startswith(p):                for j in range(len(p)):                   bold[i + j] = True       ans = ""       for i in range(n):          if bold[i] and (i == 0 or not bold[i - 1]):             ans += ""           ans += text[i]          if bold[i] and (i == n - 1 or not bold[i + 1]):              ans += ""       return ans ob = Solution() text = "thisissampleline" patterns = ["this", "ssam", "sample"] print(ob.solve(text, patterns))

इनपुट

"thisissampleline", ["this", "ssam", "sample"]

आउटपुट

thisissampleline

  1. Python प्रोग्राम से क्रमबद्ध सूची में तत्व डालना Python प्रोग्राम से क्रमबद्ध सूची में तत्व डालना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें क्रमबद्ध क्रम को बदले बिना सूची में एक तत्व डालने की आवश्यकता है। नीचे चर्चा किए गए दो दृष्टिकोण हैं। दृष्टिकोण 1: ब्रूट-फोर्स विधि उदाहरण n: index = i break

  1. - पायथन प्रोग्राम: टपल्स की लिस्ट को डिक्शनरी में कन्वर्ट करना

    यहां एक टपल दी गई है, हमारा कार्य टपल्स को डिक्शनरी में कन्वर्ट करना है। इस समस्या को हल करने के लिए हम डिक्शनरी मेथड setdefault() का उपयोग करते हैं। इस मेथड के दो पैरामीटर्स हैं, पहले पैरामीटर को की और दूसरे को डिक्शनरी की वैल्यू में कन्वर्ट करने के लिए। Setdefault(key, value) एक फंक्शन है जो की को

  1. - NumPy का उपयोग करके n*n चेकरबोर्ड पैटर्न प्रिंट करने का पायथन प्रोग्राम

    समस्या विवरण n का मान दिया गया है, हमारा कार्य n x n मैट्रिक्स के लिए चेकरबोर्ड पैटर्न प्रदर्शित करना है। NumPy में प्रारंभिक मान के साथ सरणी बनाने के लिए विभिन्न प्रकार के फंक्शन उपलब्ध हैं। NumPy पायथन में वैज्ञानिक कंप्यूटिंग के लिए मौलिक पैकेज है। एल्गोरिदम मैट्रिक्स का क्रम इनपुट करें। zeros(