এই টিউটোরিয়ালে আমরা পাইথনে রান-লেংথ এনকোডিং তৈরি করা শিখব। একটি স্ট্রিং দেওয়া থাকলে একটি নতুন স্ট্রিং রিটার্ন করতে হবে যাতে char and frequency থাকে।
উদাহরণস্বরূপ, স্ট্রিং tutorialspoint এনকোড হবে t3u1o2r1i2a1l1s1p1n1। অর্ডার হল প্রতিটি char+frequency। সবগুলো জয়েন করে রিটার্ন করুন। প্রোগ্রাম লিখতে নিচের ধাপগুলো অনুসরণ করুন।
- run_length_encoding নামে ফাংশন লিখুন।
- OrderedDict ব্যবহার করে একটি ডিকশনারি ইনিশিয়ালাইজ করুন যাতে চ্যারের প্রাথমিক কাউন্ট ০ থাকে।
- স্ট্রিংয়ের প্রতিটি ক্যারেক্টার বায়ে ইটারেট করুন এবং ডিকশনারিতে কাউন্ট বাড়ান।
- সব চ্যারেক্টার এবং তাদের ফ্রিকোয়েন্সি জয়েন করুন। এবং প্রিন্ট করুন।
- স্ট্রিং ইনিশিয়ালাইজ করুন এবং ফাংশন আহ্বান করুন।
উদাহরণ
উপরের টেক্সটের জন্য কোড নিচে দেওয়া হলো।
# 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
উপসংহার
টিউটোরিয়াল সম্পর্কে কোনো সন্দেহ থাকলে কমেন্ট সেকশনে জানান।