Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में मोर्स कोड अनुवादक

क्रिप्टोग्राफी में मोर्स कोड ट्रांसलेटर का इस्तेमाल किया जाता है। इसका नाम सैमुअल एफ बी मोर्स ने रखा है। इस तकनीक से हम एक संदेश को बिंदुओं, अल्पविराम,"-","/" की एक श्रृंखला में बदल देते हैं।

यह तकनीक बहुत ही सरल है। अंग्रेजी में प्रत्येक अक्षर "।",",","/","-" की एक श्रृंखला को दर्शाता है। हम संदेश को संदेश से प्रतीकों तक एन्क्रिप्ट करते हैं और प्रतीकों से अंग्रेजी में डिक्रिप्ट करते हैं।

शब्दकोश नीचे दिया गया है

'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':'-----', ', ':'--..--', '.':'.-.-.-',
'?':'..--..', '/':'-..-.', '-':'-....-',
'(':'-.--.', ')':'-.--.-'}

उदाहरण

Message is PYTHON-PROGRAM
Output is .--. -.-- - .... --- -.  -....- .--. .-. --- --. .-. .- --

एल्गोरिदम

एन्क्रिप्शन

Step1: Given a string, atfirst we extract each letter from the word and match with the Morse Code dictionary, then we consider the code corresponding the letter.
Step2: Next step is to store the code into a variable. And we have to follow that one space should be maintained between every Morse code.
Step3: Two spaces should be maintained in between every word.

डिक्रिप्शन

Step1: First we add a space at the end of the string.
Step2: Now we traverse each letter of the message until space is not encountered.
Step3: When we get space then check with Morse Code Dictionary and store in a variable.
Step4: When get 2 consecutive spaces we will add another space to our variable containing the decoded string.
Step5: When get last space of the message that means this is the last letter of Morse Code Generator.

उदाहरण कोड

# -*- coding: utf-8 -*-
"""
Created on Tue Oct  2 11:21:31 2018
@author: Satyajit
"""
# Dictionary representing the morse code chart
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 encryption(message):
   my_cipher = ''
   for myletter in message:
      if myletter != ' ':
         my_cipher += MORSE_CODE_DICT[myletter] + ' '
      else:
         my_cipher += ' '
      return my_cipher
# This function is used to decrypt
# Morse code to English
def decryption(message):
   message += ' '
   decipher = ''
   mycitext = ''
   for myletter in message:
      # checks for space
      if (myletter != ' '):
         i = 0
         mycitext += myletter
      else:
         i += 1
         if i == 2 :
            decipher += ' '
         else:
            decipher += list(MORSE_CODE_DICT.keys())[list(MORSE_CODE_DICT
            .values()).index(mycitext)]
            mycitext = ''
   return decipher
def main():
   my_message = "PYTHON-PROGRAM"
   output = encryption(my_message.upper())
   print (output)
   my_message = ".--. -.-- - .... --- -.  -....- .--. .-. --- --. .-. .- -- "
   output = decryption(my_message)
   print (output)
# Executes the main function
if __name__ == '__main__':
   main()

आउटपुट

.--. -.-- - .... --- -.  -....- .--. .-. --- --. .-. .- --
PYTHON-PROGRAM

  1. पायथन कोड की पैकेजिंग और प्रकाशन?

    पायथन पैकेज बनाने या प्रकाशित करने का एक बहुत ही सरल तरीका प्रदान करता है। पायथन में पैकेज प्रबंधन विभिन्न उपकरणों के माध्यम से उपलब्ध है- पिप- यह पसंदीदा विकल्पों में से एक बना हुआ है क्योंकि यह ऑपरेटिंग सिस्टम में सॉफ़्टवेयर पैकेज के किसी भी मैन्युअल इंस्टॉल और अपडेट को वस्तुतः समाप्त कर देता

  1. पायथन कोड के लिए अनुकूलन युक्तियाँ?

    हालांकि हम सभी जानते हैं कि अजगर अन्य अनुपालन वाली भाषाओं की तरह तेज या कुशल नहीं है। हालाँकि, कई बड़ी कंपनियाँ हैं जो हमें दिखाती हैं कि पायथन कोड बहुत बड़े कार्यभार को संभाल सकता है जो दर्शाता है कि यह इतना धीमा नहीं है। इस खंड में, हम कुछ युक्तियों को देखने जा रहे हैं जिन्हें ध्यान में रखना चाहिए

  1. फिक्स:इंडेंटेशन एरर पायथन

    पायथन एक उभरती हुई प्रोग्रामिंग भाषा है जिसे पहली बार 1991 में जारी किया गया था। यह भाषा अपने बड़े व्यापक पुस्तकालय के लिए जानी जाती है और कार्यात्मक, अनिवार्य, प्रक्रियात्मक और वस्तु-उन्मुख जैसे कई प्रोग्रामिंग प्रतिमानों का समर्थन करती है। इंडेंटेशन एरर:इंडेंटेड ब्लॉक की उम्मीद सभी प्रकार के उप