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

पायथन में जांचें कि कोई स्ट्रिंग स्वरों और व्यंजनों को बदलकर दूसरी स्ट्रिंग में परिवर्तित हो सकती है या नहीं

मान लीजिए हमारे पास दो स्ट्रिंग्स s और t हैं। हम किसी भी स्थिति पर वर्ण को केवल किसी स्वर (vowel) में बदल सकते हैं यदि वह पहले से स्वर है, या किसी व्यंजन (consonant) में यदि वह पहले से व्यंजन है। हमें यह जांचना है कि क्या s को t में दर्शाया जा सकता है या इसके विपरीत।

उदाहरण के लिए, यदि इनपुट s = "udpgma", t = "itmmve" है, तो आउटपुट True होगा क्योंकि हम u→i, d→t, p→m, a→e में बदल सकते हैं।

समाधान दृष्टिकोण

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

एल्गोरिदम चरण:

  1. यदि len(s) != len(t), तो False लौटाएं
  2. प्रत्येक इंडेक्स i के लिए:
    • यदि s[i] और t[i] दोनों स्वर हैं, तो जारी रखें
    • अन्यथा यदि दोनों व्यंजन हैं, तो जारी रखें
    • अन्यथा False लौटाएं
  3. True लौटाएं

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

def isVowel(x):
    return x in ['a', 'e', 'i', 'o', 'u']

def solve(s, t):
    s_size = len(s)
    if s_size != len(t):
        return False
    
    for i in range(s_size):
        s_vowel = isVowel(s[i])
        t_vowel = isVowel(t[i])
        
        if s_vowel and t_vowel:
            continue
        elif not s_vowel and not t_vowel:
            continue
        else:
            return False
    return True

s, t = "udpgma", "itmmve"
print(solve(s, t))  # True

इनपुट

"udpgma", "itmmve"

आउटपुट

True

व्याख्या:

इंडेक्सstप्रकारमेल
0uiस्वर→स्वर✓
1dtव्यंजन→व्यंजन✓
2pmव्यंजन→व्यंजन✓
3gmव्यंजन→व्यंजन✓
4mvव्यंजन→व्यंजन✓
5aeस्वर→स्वर✓

सभी स्थितियां मेल खाती हैं!

  1. - पायथन में जांचें कि क्या स्ट्रिंग को फ्लोट में बदला जा सकता है

    स्ट्रिंग को फ्लोट में पार्स करने के लिए, आप निम्नलिखित का उपयोग कर सकते हैं: try: print(float(112.15)) except ValueError: print(पार्स नहीं कर सकते) यह आपको आउटपुट देगा: 112.15 यदि आपका स्ट्रिंग पार्स नहीं किया जा सकता, तो यह एक वैल्यू एरर फेंकेगा। आप एक रैपर मेथड बना सकते हैं जो आपके द्वारा

  1. - पायथन में str और int ऑब्जेक्ट्स को कैसे जोड़ें?

    स्ट्रिंग को नंबर के साथ जोड़ने के लिए, आपको str(number) का उपयोग करके नंबर को स्ट्रिंग में कास्ट करना होगा। उदाहरण के लिए, >>> a = string >>> b = 1 >>> print(a + str(b)) string1 पायथन 2 में, आप नंबर को बैकटिक (`) से घेरकर भी वही परिणाम प्राप्त कर सकते हैं। ध्यान दें कि बैक

  1. - पायथन में कैसे जांचें कि सबस्ट्रिंग दूसरी स्ट्रिंग में समाहित है?

    पायथन में एक कीवर्ड in होता है जिसका उपयोग यह पता लगाने के लिए किया जाता है कि कोई स्ट्रिंग दूसरी स्ट्रिंग का सबस्ट्रिंग है या नहीं। उदाहरण के लिए: print(ello in hello world) आउटपुट: True यदि आपको सबस्ट्रिंग का पहला इंडेक्स भी चाहिए, तो आप इंडेक्स खोजने के लिए find(substr) का उपयोग कर सकते हैं। यदि