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

পাইথন - দুটি স্ট্রিং আইসোমরফিক কিনা তা যাচাই করুন

যদি দুটি স্ট্রিং আইসোমরফিক (isomorphic) কিনা তা যাচাই করতে হয়, তবে একটি পদ্ধতি সংজ্ঞায়িত করা হয় যা দুটি স্ট্রিং প্যারামিটার হিসেবে নেয়। এটি স্ট্রিংয়ের দৈর্ঘ্যের মাধ্যমে ইটারেট করে এবং ord পদ্ধতি ব্যবহার করে একটি ক্যারেক্টারকে পূর্ণসংখ্যায় রূপান্তর করে।

উদাহরণ

নিচে এর প্রদর্শন দেওয়া হলো:

MAX_CHARS = 256

def check_isomorphic(str_1, str_2):
    len_1 = len(str_1)
    len_2 = len(str_2)
    if len_1 != len_2:
        return False
    marked = [False] * MAX_CHARS
    map = [-1] * MAX_CHARS
    for i in range(len_2):
        if map[ord(str_1[i])] == -1:
            if marked[ord(str_2[i])] == True:
                return False
            marked[ord(str_2[i])] = True
            map[ord(str_1[i])] = str_2[i]
        elif map[ord(str_1[i])] != str_2[i]:
            return False
    return True

str_1 = 'aababa'
str_2 = 'xxyyxx'
print("প্রথম স্ট্রিং হলো :")
print(str_1)
print("দ্বিতীয় স্ট্রিং হলো :")
print(str_2)
print("প্রথম স্ট্রিংটি কি আইসোমরফিক?")
print(check_isomorphic("aab", "xxy"))
print("দ্বিতীয় স্ট্রিংটি কি আইসোমরফিক?")
print(check_isomorphic("aab", "xyz"))

আউটপুট

প্রথম স্ট্রিং হলো : aababa
দ্বিতীয় স্ট্রিং হলো : xxyyxx
প্রথম স্ট্রিংটি কি আইসোমরফিক? True
দ্বিতীয় স্ট্রিংটি কি আইসোমরফিক? False

ব্যাখ্যা

  • check_isomorphic নামক একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে।

  • এই পদ্ধতিটি দুটি স্ট্রিং প্যারামিটার হিসেবে নেয়।

  • এটি স্ট্রিংয়ের দৈর্ঘ্য নির্ণয় করে।

  • নিশ্চিত করতে হয় যে স্ট্রিং দুটির দৈর্ঘ্য সমান নয়।

  • দুটি তালিকা তৈরি করা হয় যেখানে একটি False মান এবং অন্যটি -1 মান ধারণ করে।

  • দ্বিতীয় স্ট্রিংয়ের দৈর্ঘ্য ইটারেট করা হয় এবং প্রথম স্ট্রিংয়ের ক্যারেক্টারগুলো পূর্ণসংখ্যায় রূপান্তর করা হয়।

  • False মানযুক্ত তালিকের সংশ্লিষ্ট মান পরিবর্তন করা হয়।

  • ফাংশনের বাইরে দুটি স্ট্রিং সংজ্ঞায়িত করা হয় এবং কনসোলে প্রদর্শন করা হয়।

  • এই স্ট্রিংগুলো প্যারামিটার হিসেবে পাস করে পদ্ধতিটি কল করা হয়।

  • আউটপুট কনসোলে প্রদর্শন করা হয়।

  1. পাইথনে দুটি লিস্ট একই কিনা যাচাই

  2. পাইথনে ভেরিয়েবল স্ট্রিং কিনা যাচাই করা

  3. পাইথনে ইউনিকোড স্ট্রিং

  4. পাইথনে দুটি স্ট্রিং জড়িয়ে একটিতে রূপান্তর করা