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

পাইথনে মোর্স কোড ট্রান্সলেটর


মোর্স কোড কী?

মোর্স কোড একটি এনকোডিং পদ্ধতি যেখানে প্রতিটি অক্ষর/সংখ্যা ডট (.) এবং ড্যাশ (-) দিয়ে রিপ্রেজেন্ট করা হয়। এনক্রিপশন/ডিক্রিপশনে ব্যবহৃত হয়।

মোর্স কোড ডিকশনারি


MORSE_CODE_DICT = {
    'A': '.-',    'B': '-...',  'C': '-.-.', 'D': '-..',  'E': '.',
    'F': '..-.',  'G': '--.',   'H': '....', 'I': '..',   'J': '.---',
    'K': '-.-',   'L': '.-..',  'M': '--',   'N': '-.',   'O': '---',
    'P': '.--.',  'Q': '--.-',  'R': '.-.',  'S': '...',  'T': '-',
    'U': '..-',   'V': '...-',  'W': '.--',  'X': '-..-', 'Y': '-.--',
    'Z': '--..',  '1': '.----', '2': '..---','3': '...--','4': '....-',
    '5': '.....', '6': '-....', '7': '--...','8': '---..','9': '----.',
    '0': '-----', ',': '--..--', '.': '.-.-.-','?': '..--..','/': '-..-.',
    '-': '-....-','(': '-.--.', ')': '-.--.-', ' ': '/'
}

এনক্রিপশন (টেক্সট → মোর্স)


def encrypt(message):
    cipher = ''
    for letter in message.upper():
        if letter != ' ':
            cipher += MORSE_CODE_DICT.get(letter, '') + ' '
        else:
            cipher += ' '  # শব্দের মধ্যে স্পেস
    return cipher.strip()

ডিক্রিপশন (মোর্স → টেক্সট)


def decrypt(message):
    # রিভার্স ডিকশনারি
    REVERSE_DICT = {v: k for k, v in MORSE_CODE_DICT.items()}
    
    message += ' '  # শেষে স্পেস যোগ
    decipher = ''
    citext = ''
    
    for letter in message:
        if letter != ' ':
            citext += letter
        else:
            if citext:
                decipher += REVERSE_DICT.get(citext, '?')
                citext = ''
            else:
                # দুটি স্পেস = শব্দের ব্যবধান
                decipher += ' '
    return decipher.strip()

মেন ফাংশন ও টেস্ট


def main():
    msg = "PYTHON-PROGRAM"
    enc = encrypt(msg)
    print(f"Encrypted: {enc}")
    # .--. -.-- - .... --- -. -....- .--. .-. --- --. .-. .- --
    
    dec = decrypt(enc)
    print(f"Decrypted: {dec}")
    # PYTHON-PROGRAM

if __name__ == '__main__':
    main()

এনক্রিপশন নিয়ম

  • প্রতিটি মোর্স কোডের পরে ১ স্পেস।
  • দুই শব্দের মধ্যে ২ স্পেস (এখানে / বা ডবল স্পেস ব্যবহার করা হয়)।

ডিক্রিপশন লজিক

  • স্ট্রিংয়ের শেষে স্পেস যোগ করা হয় (লুপের সুবিধার্থে)।
  • ক্যারেক্টার জমা করা হয় যতক্ষণ স্পেস পাওয়া যায়।
  • স্পেস পেলে রিভার্স ডিকশনারি থেকে লুকআপ।
  • লগাতার দুটি স্পেস পেলে শব্দের ব্যবধান হিসেবে স্পেস যোগ।
  1. গুগল কোলাবরেটরিতে পাইথন কোড রান করার পদ্ধতি

  2. পাইথন কোড প্যাকেজিং ও পাবলিশিং (Packaging and Publishing Python Code)

  3. পাইথন কোড অপ্টিমাইজেশনের ১১ টি কার্যকর টিপস

  4. সমাধান: Python Indentation Error