কম্পিউটার টিউটোরিয়াল

পাইথনে itertools.permutations() ব্যবহার করে স্ট্রিং-এর পারমুটেশন (Permutation) বের করা

এই টিউটোরিয়ালে পাইথনের বিল্ট-ইন `itertools.permutations()` ফাংশন ব্যবহার করে একটি স্ট্রিং-এর সব সম্ভাব্য পারমুটেশন (ক্রমবিন্যাস) বের করার পদ্ধতি দেখানো হলো।

প্রক্রিয়া

  1. `itertools` মডিউল ইম্পোর্ট করুন।
  2. স্ট্রিং ইনিশিয়ালাইজ করুন।
  3. `itertools.permutations(string)` কল করুন – এটি একটি ইটেরেটর রিটার্ন করে।
  4. লিস্টে কনভার্ট করুন (টাপলসহ)।
  5. `join()` ব্যবহার করে টাপলগুলো স্ট্রিং-এ রূপান্তর করুন।

কোড উদাহরণ

import itertools
string = "XYZ"
perm_list = list(itertools.permutations(string))
print("Permutations as tuples:")
print(perm_list)
print("\nPermutations as strings:")
for tup in perm_list:
    print("".join(tup))

আউটপুট

Permutations as tuples:
[('X', 'Y', 'Z'), ('X', 'Z', 'Y'), ('Y', 'X', 'Z'), ('Y', 'Z', 'X'), ('Z', 'X', 'Y'), ('Z', 'Y', 'X')]

Permutations as strings:
XYZ
XZY
YXZ
YZX
ZXY
ZYX

n-দৈর্ঘ্যের স্ট্রিং-এর জন্য n! টি পারমুটেশন তৈরি হয়। `itertools` মডিউলটি ইফিশিয়েন্টলি এই কাজটি করে।

  1. পাইথন প্রোগ্রাম সেট ব্যবহার করে স্ট্রিংয়ে ভাওয়েল কাউন্ট করা

  2. দেওয়া স্ট্রিংটি ভয়েল প্যালিনড্রোম কিনা চেক করার পাইথন প্রোগ্রাম

  3. পাইথন রেজেক্স ব্যবহার করে স্ট্রিং থেকে ‘1(0+)1’ প্যাটার্ন খুঁজে বের করা

  4. পাইথনে স্ট্রিং প্যাংগ্রাম (Pangram) কিনা চেক করা