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

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

समस्या विवरण

एक संख्या n दी गई है, हमें निम्नलिखित नियमों से उत्पन्न सीक्वेंस का nth मान ज्ञात करना है:

  • पहला टर्म: "xxy"
  • नियम (चक्रीय क्रम में):
    1. स्ट्रिंग को डबल करें (खुद के साथ कन्कैटनेट करें)
    2. स्ट्रिंग को रिवर्स करें
    3. सभी 'x' को 'y' और 'y' को 'x' में बदलें
  • इन चरणों को दोहराएं

उदाहरण

सीक्वेंस: xxy → xxyxxy → yxxyxx → xyyxyy → xyyxyyxyyxyy → ...

इनपुट: n = 5

आउटपुट: "yyxyyxyyxyyx"

एल्गोरिदम

  1. ret = "xxy" से शुरू करें
  2. i = 0 से n-1 तक:
    • यदि i % 3 == 0: ret = ret + ret (डबल करें)
    • यदि i % 3 == 1: ret = ret[::-1] (रिवर्स करें)
    • यदि i % 3 == 2: सभी 'x'↔'y' स्वैप करें
  3. ret वापस करें

पायथन कार्यान्वयन

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_string = ""
                for c in ret:
                    new_string += "y" if c == "x" else "x"
                ret = new_string
            i += 1
        return ret

ob = Solution()
print(ob.solve(5))

इनपुट

5

आउटपुट

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

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

  1. - पायथन में पूर्णांक उल्टा करें

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

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

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