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

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


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

उदाहरण

from math import factorial

def lex_permutation(my_string):
    for i in range(factorial(len(my_string))):
        print(''.join(my_string))
        i = len(my_string) - 1
        while i > 0 and my_string[i-1] > my_string[i]:
            i -= 1
        my_string[i:] = reversed(my_string[i:])
        if i > 0:
            q = i
            while my_string[i-1] > my_string[q]:
                q += 1
            temp_variable = my_string[i-1]
            my_string[i-1] = my_string[q]
            my_string[q] = temp_variable

my_string = 'bhd'
print("स्ट्रिंग है:")
print(my_string)
my_string = list(my_string)
print("स्ट्रिंग को सॉर्ट किया जा रहा है")
my_string.sort()
lex_permutation(my_string)

आउटपुट

स्ट्रिंग है: bhd
स्ट्रिंग को सॉर्ट किया जा रहा है
bdh
bhd
dbh
dhb
hbd
hdb

व्याख्या

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

  • 'lex_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 लूप