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