जब किसी दिए गए चरित्र के चरित्र दोहराव प्राप्त करने की आवश्यकता होती है, तो एक विधि परिभाषित की जाती है जो दोहराव को मुद्रित करने के लिए अनुक्रमणिका मान का उपयोग करती है।
उदाहरण
नीचे उसी का एक प्रदर्शन है
def to_string(my_list): return ''.join(my_list) def lex_recurrence(my_string, my_data, last_val, index_val): length = len(my_string) for i in range(length): my_data[index_val] = my_string[i] if index_val==last_val: print(to_string(my_data)) else: lex_recurrence(my_string, my_data, last_val, index_val+1) def all_lex(my_string): length = len(my_string) my_data = [""] * (length+1) my_string = sorted(my_string) lex_recurrence(my_string, my_data, length-1, 0) my_string = "MQ" print("The string is :") print(my_string) print("All permutations with repetition of " + my_string + " are...") all_lex(my_string)
आउटपुट
The string is : MQ All permutations with repetition of MQ are... MM MQ QM QQ
स्पष्टीकरण
-
'to_string' नाम की एक विधि परिभाषित की गई है जो एक सूची को पैरामीटर के रूप में लेती है और सभी मानों को जोड़कर उसे लौटाती है।
-
'lex_recurrence' नाम की एक अन्य विधि को परिभाषित किया गया है जो एक स्ट्रिंग, इंडेक्स मानों को पैरामीटर के रूप में लेती है।
-
यह स्ट्रिंग की लंबाई पर पुनरावृति करता है, और यह देखने के लिए जांच करता है कि क्या अंतिम मान और अनुक्रमणिका मान समान हैं।
-
यदि वे हैं, तो इसे संयोजन में से एक के रूप में मुद्रित किया जाता है।
-
अन्यथा, अनुक्रमणिका के मान को बढ़ाकर विधि को फिर से कॉल किया जाता है।
-
'all_lex' नाम की एक अन्य विधि को परिभाषित किया गया है जो 'सॉर्टेड' विधि का उपयोग करके स्ट्रिंग को सॉर्ट करती है और पिछली विधि को फिर से कॉल करती है।
-
विधि के बाहर, एक स्ट्रिंग को परिभाषित किया जाता है और कंसोल पर प्रदर्शित किया जाता है।
-
आउटपुट कंसोल पर प्रदर्शित होता है।