যখন একটি প্রদত্ত অক্ষরের অক্ষর পুনরাবৃত্তির প্রয়োজন হয়, তখন একটি পদ্ধতি সংজ্ঞায়িত করা হয় যা পুনরাবৃত্তিগুলি মুদ্রণ করতে সূচক মান ব্যবহার করে।
উদাহরণ
নীচে একই
একটি প্রদর্শনী আছে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' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যেটি 'বাছাই করা' পদ্ধতি ব্যবহার করে স্ট্রিংকে সাজায় এবং আগের পদ্ধতিটিকে আবার কল করে।
-
পদ্ধতির বাইরে, একটি স্ট্রিং সংজ্ঞায়িত করা হয় এবং কনসোলে প্রদর্শিত হয়।
-
আউটপুট কনসোলে প্রদর্শিত হয়।