এই টিউটোরিয়ালে, আমরা শিখব কিভাবে পাইথনে রান-লেংথ এনকোডিং তৈরি করা যায়। একটি স্ট্রিং দেওয়া হলে চর এবং ফ্রিকোয়েন্সি ধারণকারী একটি নতুন স্ট্রিং প্রদান করে
উদাহরণস্বরূপ, স্ট্রিং টিউটোরিয়াল পয়েন্ট t3u1o2r1i2a1l1s1p1n1 হিসাবে এনকোড করা হবে . অর্ডার প্রতিটি char+ফ্রিকোয়েন্সি . তাদের সকলের সাথে যোগ দিন এবং ফিরে আসুন। প্রোগ্রাম লেখার জন্য নিচের ধাপগুলো দেখুন।
-
run_length_encoding নামে ফাংশনটি লিখুন।
-
OrderedDict দিয়ে একটি অভিধান শুরু করুন 0 হিসাবে অক্ষরের একটি প্রাথমিক গণনা পেতে।
-
স্ট্রিংয়ের প্রতিটি অক্ষরের উপর পুনরাবৃত্তি করুন এবং অভিধানে সংখ্যা বৃদ্ধি করুন।
-
সমস্ত অক্ষর এবং তাদের ফ্রিকোয়েন্সি যোগদান করুন. এবং এটি প্রিন্ট করুন।
-
স্ট্রিং শুরু করুন এবং ফাংশনটি চালু করুন।
উদাহরণ
চলুন উপরের লেখাটির কোড দেখি।
# importing the collections import collections # function def run_length_encoding(string): # initialzing the count dict count_dict = collections.OrderedDict.fromkeys(string, 0) # iterating over the string for char in string: # incrementing the frequency count_dict[char] += 1 # initializing the empty encoded string encoded_string = "" # joining all the chars and their frequencies for key, value in count_dict.items(): # joining encoded_string += key + str(value) # printing the encoded string print(encoded_string) # initializing the strings string = "tutorialspoint" # invoking the function run_length_encoding(string) # another string string = "aaaaaabbbbbccccccczzzzzz" run_length_encoding(string)
আউটপুট
আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত আউটপুট পাবেন।
t3u1o2r1i2a1l1s1p1n1 a6b5c7z6
উপসংহার
টিউটোরিয়ালটিতে আপনার কোন সন্দেহ থাকলে, মন্তব্য বিভাগে উল্লেখ করুন।