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

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

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

नीचे उसी का प्रदर्शन है -

उदाहरण

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("The string is ")
print(my_string)
my_string = list(my_string)
print("The string is being sorted")
my_string.sort()
lex_permutation(my_string)

आउटपुट

The string is
bhd
The string is being sorted
bdh
bhd
dbh
dhb
hbd
hdb

स्पष्टीकरण

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

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

  • यह फ़ैक्टोरियल विधि का उपयोग करता है और स्ट्रिंग के फ़ैक्टोरियल के माध्यम से पुनरावृति करता है।

  • उल्टे स्ट्रिंग और मूल स्ट्रिंग की तुलना की जाती है।

  • एक साधारण अदला-बदली की जाती है।

  • विधि के बाहर, स्ट्रिंग को परिभाषित किया जाता है, और कंसोल पर प्रदर्शित किया जाता है।

  • फिर इसे क्रमबद्ध किया जाता है।

  • इस स्ट्रिंग को पास करके मेथड को कॉल किया जाता है।

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


  1. एक अंतराल में सभी प्राइम नंबरों को प्रिंट करने के लिए पायथन प्रोग्राम

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

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

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक स्ट्रिंग दी गई है जिसकी हमें स्ट्रिंग के सभी संभावित क्रमपरिवर्तन प्रदर्शित करने की आवश्यकता है। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # conversion def toString(List):    return &

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

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