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

पायथन में डबल, रिवर्स और स्वैप के बाद पैटर्न

मान लीजिए कि हमारे पास एक संख्या n है, हमें अनुक्रम से nth मान नहीं मिला है। क्रम नीचे जैसा है -

  • xxy
  • xxyxxy
  • yxxyxx
  • xyyxyy
  • xyyxyyxyyxyy
  • ...

अगला मान उत्पन्न करने के लिए, हमें इन नियमों का पालन करना होगा, xy से पहले पद के रूप में शुरू करना -

  • जब हम पैटर्न की शुरुआत में हों, तो इसे दोगुना करें (स्ट्रिंग को अपने साथ जोड़ लें)।

  • जब पिछला ऑपरेशन दोगुना हो रहा था, तो इसे उल्टा कर दें।

  • जब पिछला ऑपरेशन उलट रहा था, तो सभी xs को y से बदल दें और इसके विपरीत।

  • इन चरणों को दोहराएं।

इसलिए, यदि इनपुट n =5 जैसा है, तो आउटपुट "yyxyyxyyxyyx" होगा

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

  • मैं :=0
  • रिट:="xxy"
  • जबकि मैं
  • यदि i mod 3 0 के समान है, तो
    • ret :=ret + ret
  • अन्यथा जब i mod 3 1 के समान होता है, तो
    • ret :=सूचकांक 0 से अंत-1 तक रिट का उप-सरणी
  • अन्यथा,
    • new_stringy :=रिक्त स्ट्रिंग
    • रिटर्न में प्रत्येक सी के लिए, करें
      • यदि c "x" के समान है, तो
        • new_stringy :=new_stringy concatenate "y"
      • अन्यथा,
        • new_stringy :=new_stringy concatenate "x"
    • रिट:=new_stringy
  • i :=i + 1
  • रिटर्न रिटर्न
  • आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

    उदाहरण

    class Solution:
       def solve(self, s):
          i = 0
          ret = "xxy"
          while i < s:
             if i % 3 == 0:
                ret += ret
             elif i % 3 == 1:
                ret = ret[::-1]
             else:
                new_stringy = ""
                for c in ret:
                   if c == "x":
                      new_stringy += "y"
                   else:
                      new_stringy += "x"
                   ret = new_stringy
                i += 1
          return ret
    ob = Solution()
    print(ob.solve(5))

    इनपुट

    5

    आउटपुट

    yyxyyxyyxyyx

    1. पायथन में पैटर्न कैसे प्रिंट करें?

      नेस्टेड फॉर लूप्स का उपयोग करके पायथन में पैटर्न मुद्रित किए जा सकते हैं। बाहरी लूप का उपयोग पंक्तियों की संख्या के माध्यम से पुनरावृति करने के लिए किया जाता है जबकि आंतरिक लूप का उपयोग स्तंभों की संख्या को संभालने के लिए किया जाता है। आवश्यकता के अनुसार विभिन्न पैटर्न बनाने के लिए प्रिंट स्टेटमेंट

    1. पायथन में रिवर्स इंटीजर

      मान लीजिए कि हमारे पास एक 32-बिट हस्ताक्षरित पूर्णांक संख्या है। हमें संख्या लेनी है और अंकों को उलटना है। तो अगर संख्या 425 की तरह है, तो आउटपुट 524 होगा। एक और बात हमें ध्यान में रखनी होगी कि संख्या हस्ताक्षरित है, इसलिए कुछ नकारात्मक संख्याएं हो सकती हैं। तो अगर संख्या -425 है, तो यह -524 होगी।

    1. पायथन में पैरामीटर के लिए ** (डबल स्टार) और * (स्टार) क्या करता है?

      पायथन फंक्शन में, इसके पहले सिंगल एस्टरिस्क (स्टार) के साथ एक तर्क कॉलिंग वातावरण से तर्क की चर संख्या प्राप्त करने में मदद करता है >>> def function(*arg):       for i in arg:         print (i) >>> function(1,2,3,4,5) 1 2 3 4 5 डबल एस्टरिस्क (स्ट