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

रीकर्सन का उपयोग करके लेक्सिकोग्राफिक क्रम में स्ट्रिंग के सभी क्रमपरिवर्तन प्रिंट करने का पायथन प्रोग्राम


जब रीकर्सन का उपयोग करके लेक्सिकोग्राफिक क्रम में स्ट्रिंग के सभी क्रमपरिवर्तन प्रिंट करने हों, तो एक विधि परिभाषित की जाती है जो एलिमेंट्स के क्रम पर पुनरावृति करने के लिए 'for' लूप का उपयोग करती है और एलिमेंट्स को जोड़ने के लिए 'join' मेथड का उपयोग करती है।

उदाहरण

from math import factorial

def lexicographic_permutation_order(s):
    my_sequence = list(s)
    for _ in range(factorial(len(my_sequence))):
        print(''.join(my_sequence))
        next = next_in_permutation(my_sequence)
        if next is None:
            my_sequence.reverse()
        else:
            my_sequence = next

def next_in_permutation(my_sequence):
    if len(my_sequence) == 0:
        return None
    next = next_in_permutation(my_sequence[1:])
    if next is None:
        my_sequence[1:] = reversed(my_sequence[1:])
        q = 1
        while q < len(my_sequence) and my_sequence[0] > my_sequence[q]:
            q += 1
        if q == len(my_sequence):
            return None
        my_sequence[0], my_sequence[q] = my_sequence[q], my_sequence[0]
        return my_sequence
    else:
        return [my_sequence[0]] + next

my_input = input('एक स्ट्रिंग दर्ज करें: ')
print("स्ट्रिंग है:")
print(my_input)
print("विधि कॉल की जा रही है...")
lexicographic_permutation_order(my_input)

आउटपुट

एक स्ट्रिंग दर्ज करें: hey
स्ट्रिंग है: hey
विधि कॉल की जा रही है...
hey
hye
yeh
yhe
hey
hye

व्याख्या

  • आवश्यक पैकेज आयात किए जाते हैं।

  • 'lexicographic_permutation_order' नामक एक विधि परिभाषित की जाती है जो एलिमेंट्स के लेक्सिकोग्राफिक क्रम को खोजने में मदद करती है।

  • 'next_in_permutation' मेथड स्ट्रिंग में अगले क्रमपरिवर्तन को निर्धारित करने में मदद करती है।

  • उपयोगकर्ता द्वारा एक स्ट्रिंग दर्ज की जाती है और कंसोल पर प्रदर्शित की जाती है।

  • इस स्ट्रिंग को पैरामीटर के रूप में पास करके विधि को कॉल किया जाता है।

  • आउटपुट कंसोल पर प्रदर्शित होता है।


  1. Python प्रोग्राम से अंतराल में सभी अभाज्य संख्याएँ प्रिंट करना Python प्रोग्राम से अंतराल में सभी अभाज्य संख्याएँ प्रिंट करना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक अंतराल दिया गया है, हमें दी गई रेंज में सभी अभाज्य संख्याओं की गणना करने की आवश्यकता है। यहां हम समाधान प्राप्त करने के लिए ब्रूट-फोर्स दृष्टिकोण पर चर्चा करेंगे यानी अभाज्य संख्या की मूल परिभाषा। अभाज्य संख्

  1. पायथन प्रोग्राम: दी गई स्ट्रिंग के सभी क्रमपरिवर्तन प्रिंट करें पायथन प्रोग्राम: दी गई स्ट्रिंग के सभी क्रमपरिवर्तन प्रिंट करें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक स्ट्रिंग दी गई है, हमें स्ट्रिंग के सभी संभावित क्रमपरिवर्तन प्रदर्शित करने हैं। उदाहरण # रूपांतरण def toString(List): return .join(List) # क्रमपरिवर्तन def permute(a, l, r): if l == r: print(toString(a))

  1. पायथन प्रोग्राम: स्ट्रिंग में इवन लेंथ वाले शब्द प्रिंट करें पायथन प्रोग्राम: स्ट्रिंग में इवन लेंथ वाले शब्द प्रिंट करें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक स्ट्रिंग दिए जाने पर, हमें स्ट्रिंग में इवन लेंथ वाले सभी शब्दों को प्रदर्शित करने की आवश्यकता है। दृष्टिकोण split() फ़ंक्शन का उपयोग करके इनपुट स्ट्रिंग को विभाजित करें। for लूप