কম্পিউটার

পাইথন প্রোগ্রাম একটি স্ট্রিং এর আকার r এর সমস্ত পারমুটেশন পেতে


ধরুন আমাদের একটি স্ট্রিং s এবং একটি সংখ্যা r আছে। আমাদের s অক্ষরের r সংখ্যার সমস্ত পারমুটেশন প্রদর্শন করতে হবে। সব পারমুটেশন পেতে আমাদের পারমুটেশন() ফাংশন আছে। এই ফাংশনটি itertools লাইব্রেরির ভিতরে উপস্থিত রয়েছে৷

সুতরাং, যদি ইনপুট s ="HELLO" r =3 এর মত হয়, তাহলে আউটপুট হবে

>['HEL', 'HEL', 'HEO', 'HLE', 'HLL', 'HLO', 'HLE', 'HLL', 'HLO', 'HOE', 'HOL', 'HOL', 'EHL', 'EHL', 'EHO', 'ELH', 'ELL',
'ELO', 'ELH', 'ELL','ELO', 'EOH', 'EOL', 'EOL', 'LHE', 'LHL', 'LHO', 'LEH', 'LEL', 'LEO', 'LLH', 'LLE', 'LLO', 'LOH', 'LOE',
'LOL', 'LHE', 'LHL', 'LHO', 'LEH', 'LEL', 'LEO', 'LLH', 'LLE', 'LLO', 'LOH', 'LOE', 'LOL', 'OHE', 'OHL', 'OHL', 'OEH', 'OEL',
'OEL', 'OLH', 'OLE', 'OLL', 'OLH', 'OLE', 'OLL']

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • vals:=s থেকে r আকারের সমস্ত পারমুটেশন সহ একটি তালিকা
  • res:=একটি নতুন তালিকা
  • ভ্যালে প্রতিটি x এর জন্য, করুন
    • অক্ষরের তালিকা x স্ট্রিং-এ রূপান্তর করুন এবং res-এ সন্নিবেশ করুন
  • রিটার্ন রিটার্ন

উদাহরণ

আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি

from itertools import permutations
   def solve(s, r):
   vals=list(permutations(s,r))
   res=[]
   for x in vals:
      res.append(''.join(x))
   return res

s = "HELLO"
r = 3
print(solve(s, r))

ইনপুট

"HELLO", 2

আউটপুট

['HEL', 'HEL', 'HEO', 'HLE', 'HLL', 'HLO', 'HLE', 'HLL', 'HLO', 'HOE',
'HOL', 'HOL', 'EHL', 'EHL', 'EHO', 'ELH', 'ELL', 'ELO', 'ELH', 'ELL', 'ELO',
'EOH', 'EOL', 'EOL', 'LHE', 'LHL', 'LHO', 'LEH', 'LEL', 'LEO', 'LLH', 'LLE',
'LLO', 'LOH', 'LOE', 'LOL', 'LHE', 'LHL', 'LHO', 'LEH', 'LEL', 'LEO', 'LLH',
'LLE', 'LLO', 'LOH', 'LOE', 'LOL', 'OHE', 'OHL', 'OHL', 'OEH', 'OEL', 'OEL',
'OLH', 'OLE', 'OLL', 'OLH', 'OLE', 'OLL']

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

  2. পাইথন প্রোগ্রাম একটি স্ট্রিং সব অনন্য অক্ষর আছে কিনা তা পরীক্ষা করতে

  3. পাইথনে একটি প্রদত্ত স্ট্রিংয়ের সমস্ত সম্ভাব্য স্থানান্তরগুলি কীভাবে খুঁজে পাবেন?

  4. কিভাবে পাইথনে একটি স্ট্রিং আকার পেতে?