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

पायथन में लगातार दोहराए जाने वाले वर्णों से बचने के लिए सभी प्रश्न प्रतीकों को बदलने का कार्यक्रम

मान लीजिए कि हमारे पास एक लोअरकेस स्ट्रिंग है जिसमें केवल अक्षर हैं और '?' चरित्र, हमें सभी को परिवर्तित करना है '?' अक्षरों को छोटे अक्षरों में इस तरह से बनाया गया है कि अंतिम स्ट्रिंग में लगातार दोहराए जाने वाले वर्ण नहीं होंगे। अगर एक से अधिक समाधान हैं, तो उनमें से कोई भी वापस करें।

इसलिए, यदि इनपुट एस ="हेल ??" जैसा है, तो आउटपुट हेलैब होगा, पहले प्रश्न चिह्न 'एल' को छोड़कर कुछ भी हो सकता है और जब पहला दिया जाता है, तो दूसरा 'ए' को छोड़कर कुछ भी हो सकता है। ।

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

  • यदि s का आकार 1 के समान है, तो

    • यदि s "?" के समान है, तो

      • वापसी "ए"

    • वापसी एस

  • s :=s में मौजूद वर्णों की सूची

  • मैं के लिए 0 से s-1 के आकार की सीमा में, करो

    • अगर s[i] "?" के समान है, तो

      • अगर मैं 0 के समान है और s[i+1] "?" के समान है, तो

        • एस [i]:="ए"

      • अन्यथा जब मैं 0 के समान हो और s[i+1] "a" के समान हो, तब

        • एस [i]:="बी"

      • अन्यथा जब मैं 0 के समान हो, तब

        • एस [i]:="ए"

      • अन्यथा जब मैं (s का आकार)-1 के समान हो और s[i-1] "a" के समान हो, तब

        • एस [i]:="बी"

      • अन्यथा जब मैं (s के आकार) -1 के समान होता हूं, तब

        • एस [i]:="ए"

      • अन्यथा जब s[i-1] "a" के समान है और s[i+1] "?" के समान है, तब

        • एस [i]:="बी"

      • अन्यथा जब s[i+1] "?" के समान हो, तब

        • एस [i]:="ए"

      • अन्यथा जब (s[i-1] "a" के समान है और s[i+1] "b" के समान है) या (s[i-1] "b" और s[i+1] के समान है "ए" के समान है), फिर

        • एस [i]:="सी"

      • अन्यथा जब s[i-1] या s[i+1] "a" है, तब

        • एस [i]:="बी"

      • अन्यथा,

        • एस [i]:="ए"

  • वर्णों को स्ट्रिंग में शामिल करने के बाद s लौटाएं

उदाहरण (पायथन)

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

def solve(s):
   if len(s) == 1 :
      if s == "?":
         return "a"
      return s
   s = list(s)
   for i in range(len(s)):
      if s[i] == "?":
         if i == 0 and s[i+1] == "?":
            s[i] = "a"
         elif i == 0 and s[i+1] == "a":
            s[i] = "b"
         elif i == 0:
            s[i] = "a"
         elif i == len(s)-1 and s[i-1] == "a":
            s[i] = "b"
         elif i == len(s)-1:
            s[i] = "a"
         elif s[i-1] == "a" and s[i+1] == "?":
            s[i] = "b"
         elif s[i+1] == "?":
            s[i] = "a"
         elif (s[i-1] == "a" and s[i+1] == "b") or (s[i-1] == "b" and s[i+1] == "a"):
            s[i] = "c"
         elif "a" in (s[i-1],s[i+1]):
            s[i] = "b"
         else:
            s[i] = "a"
   return "".join(s)

s = "hel??"
print(solve(s))

इनपुट

"hel??"

आउटपुट

helab

  1. पायथन प्रोग्राम यह जांचने के लिए कि क्या एक स्ट्रिंग में सभी अद्वितीय वर्ण हैं

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक स्ट्रिंग इनपुट को देखते हुए, हमें यह पता लगाना होगा कि किसी स्ट्रिंग में सभी अद्वितीय वर्ण हैं या नहीं। दृष्टिकोण हम बूलियन मानों की एक सरणी बनाएंगे, जहां इंडेक्स i पर वेरिएबल फ्लैग इंगित कर

  1. एक स्ट्रिंग में दर्पण वर्ण खोजने के लिए पायथन प्रोग्राम

    उपयोगकर्ता इनपुट स्ट्रिंग और उस स्थिति से स्थिति को देखते हुए हमें वर्णों को वर्णानुक्रम में स्ट्रिंग की लंबाई तक दर्पण करने की आवश्यकता है। इस ऑपरेशन में, हम a को z, b से y, c से x, d से w में बदलते हैं और इसी तरह से पहला कैरेक्टर आखिरी हो जाता है और इसी तरह चालू। Inpu t: p = 3 Input string = p

  1. एक सूची के सभी उपन्यासों को मुद्रित करने के लिए पायथन कार्यक्रम।

    किसी सूची को देखते हुए, सूची के सभी उप-सूचियों को प्रिंट करें। उदाहरण - इनपुट:सूची =[1, 2, 3] आउटपुट:[], [1], [1, 2], [1, 2, 3], [2], [2, 3], [3] ] एल्गोरिदम चरण 1:एक सूची दी गई है। चरण 2:एक सबलिस्ट लें जो शुरू में खाली हो। चरण 3:दी गई सूची की लंबाई तक लूप के लिए एक का उपयोग करें। चरण 4:i+1 से सूची