কম্পিউটার

পাইথন প্রোগ্রাম আবৃত্তি ছাড়াই লেক্সিকোগ্রাফিক ক্রমে একটি স্ট্রিংয়ের সমস্ত পারমুটেশন মুদ্রণ করতে


রিকার্সন ব্যবহার না করেই যখন একটি স্ট্রিং এর সমস্ত পারমুটেশন মুদ্রণ করার প্রয়োজন হয়, তখন একটি পদ্ধতি সংজ্ঞায়িত করা হয়, যা স্ট্রিংটিকে প্যারামিটার হিসেবে নেয়। এটি স্ট্রিং উপাদানগুলির উপর পুনরাবৃত্তি করার জন্য একটি সাধারণ 'ফর' লুপ ব্যবহার করে এবং নির্দিষ্ট সীমাবদ্ধতাগুলি পরীক্ষা করার জন্য 'যখন' শর্ত ব্যবহার করে।

নীচে একই −

এর প্রদর্শন করা হল

উদাহরণ

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. একটি ব্যবধানে সমস্ত প্রাইম সংখ্যা প্রিন্ট করার জন্য পাইথন প্রোগ্রাম

  2. পাইথন প্রোগ্রাম একটি প্রদত্ত স্ট্রিং এর সমস্ত স্থানান্তর প্রিন্ট করতে

  3. পাইথন প্রোগ্রাম একটি স্ট্রিং মধ্যে এমনকি দৈর্ঘ্য শব্দ মুদ্রণ

  4. একটি তালিকার সমস্ত সাবলিস্ট প্রিন্ট করতে পাইথন প্রোগ্রাম।