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