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

पायथन में केवल अक्षरों को उल्टा करें


मान लीजिए हमारे पास एक स्ट्रिंग S है, हमें उल्टी स्ट्रिंग ढूंढनी है जहां सभी गैर-अक्षर वर्ण अपनी स्थिति नहीं बदलेंगे और सभी अक्षर अपनी स्थिति उल्टा कर लेंगे। उदाहरण के लिए, यदि दी गई स्ट्रिंग "a-bC-dEf-ghIj" है, तो आउटपुट "j-Ih-gfE-dCba" होगा।

हल करने के चरण

  • हम इस समस्या को हल करने के लिए नियमित अभिव्यक्ति लाइब्रेरी का उपयोग करेंगे
  • यदि S खाली है, तो S वापस करें
  • str := एक खाली स्ट्रिंग, index1 := 0 और index2 := S की लंबाई - 1
  • जब तक index1 < S की लंबाई
    • यदि index2 >= 0 और S[index1] अक्षर है और S[index2] अक्षर है
      • str := str + S[index2]
      • index2 को 1 से घटाएं, और index1 को 1 से बढ़ाएं
    • अन्यथा यदि S[index1] अक्षर है तो index2 को 1 से घटाएं
    • अन्यथा यदि S[index1] अक्षर नहीं है, तो str := str + S[index1], index1 को 1 से बढ़ाएं
    • अन्यथा index2 को 1 से घटाएं, और index1 को 1 से बढ़ाएं
  • str वापस करें

उदाहरण

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

class Solution:
    def reverseOnlyLetters(self, S):
        if not S:
            return S
        str_= ""
        index1 = 0
        index2 = len(S)-1
        while index1<len(S):
            if index2>=0 and S[index1].isalpha() and S[index2].isalpha():
                str_+=S[index2]
                index2 -= 1
                index1 += 1
            elif S[index1].isalpha():
                index2-=1
            elif not S[index1].isalpha():
                str_+=S[index1]
                index1+=1
            else:
                index2 -= 1
                index1 += 1
        return str_

ob1 = Solution()
print(ob1.reverseOnlyLetters("a-bC-dEf-ghIj"))

इनपुट

"a-bC-dEf-ghIj"

आउटपुट

"j-Ih-gfE-dCba"

  1. - पायथन में कैसे जांचें कि स्ट्रिंग में केवल व्हाइटस्पेस लेटर्स हैं?

    हम 2 तरीकों का उपयोग करके जांच सकते हैं कि क्या स्ट्रिंग में केवल व्हाइटस्पेस कैरेक्टर्स हैं। पहला है isspace() मेथड का उपयोग करना। उदाहरण के लिए: print(Hello world.isspace()) print( .isspace()) आउटपुट: False True

  1. - पायथन में कैसे जांचें कि स्ट्रिंग में केवल अपरकेस लेटर्स हैं?

    हम 2 तरीकों का उपयोग करके जांच सकते हैं कि क्या स्ट्रिंग में केवल अपरकेस लेटर्स हैं। पहला है isupper() मेथड का उपयोग करना। उदाहरण print(Hello world.isupper()) print(HELLO.isupper()) आउटपुट False True आप उसी परिणाम के लिए regexes का भी उपयोग कर सकते हैं। केवल अपरकेस मिलान के लिए, हम regex: ^[A-Z]+$ क

  1. - पायथन में कैसे जांचें कि स्ट्रिंग में केवल लोअरकेस लेटर्स हैं?

    हम 2 तरीकों का उपयोग करके जांच सकते हैं कि क्या स्ट्रिंग में केवल लोअरकेस लेटर्स हैं। पहला है islower() मेथड का उपयोग करना। उदाहरण के लिए: print(Hello world.islower()) print(hello world.islower()) आउटपुट: False True आप उसी परिणाम के लिए regexes का भी उपयोग कर सकते हैं। केवल लोअरकेस मिलान के लिए, हम