En este post de programación en Python te mostraré cómo codificar y decodificar código Morse. Es decir, hacer un programa que lea una cadena y la transforme a Morse, o la operación contraria, leer una cadena Morse y decodificarla a texto.

Traductor código Morse a texto en Python

Traductor código Morse a texto en Python

De modo que la final haremos un programa en Python que convierte la palabra PYTHON a .--. -.-- - .... --- -. y lo contrario.

Traductor Morse

Comencemos viendo las equivalencias de cada letra del texto a su representación Morse. Me he dado a la tarea de escribir los códigos ASCII y sus equivalencias:

Ahora lo único que hay que hacer en el programa es pasar estas equivalencias a una estructura de datos como un arreglo o diccionario que nos permita buscar el ASCII de un Morse, y el Morse de un ASCII.

Una vez que tengamos la estructura de datos vamos a hacer funciones que, dado un carácter ASCII, devuelve su codificación Morse. Y lo mismo para la operación contraria.

Finalmente para pasar de texto a Morse y viceversa vamos a hacer unas funciones que recibirán cadenas (o palabras, como quieras llamarle), se van a recorrer todas y cada unas de las letras de la misma y se van a ir codificando con las funciones anteriormente descritas.

Verás que será relativamente sencillo; así que manos a la obra.

Equivalencias

He colocado las equivalencias en un diccionario de Python. Si quieres un programa mucho más rápido (ni siquiera se nota la velocidad, créeme) puedes hacer dos diccionarios: uno en donde las claves sean los ASCII, y otros en donde las claves sean los Morse.

Codificando a Morse

Como mencioné anteriormente, necesitamos una función para convertir una letra a Morse y después invocar a esa función por cada letra de la cadena a codificar.

El código Python en donde se hace la conversión de texto a Morse queda así:

Los comentarios explican el funcionamiento del programa. Estamos dividiendo las tareas para que el código sea más fácil de entender. Ahora es momento de ver cómo transformar de Morse a texto plano.

De texto a Morse con Python

Las funciones serán muy parecidas, solo cambiará la parte en donde buscamos la equivalencia pues ahora no buscaremos por clave del diccionario, sino por valor.

Codificando y decodificando

Ya tenemos las funciones, ahora es momento de usarlas. Como ejemplo tenemos lo siguiente:

La función que transforma a Morse recibe la palabra original y la devuelve codificada. La función que decodifica el Morse recibe la cadena modificada y la devuelve en texto plano.

Obviamente tú puedes adaptar todo esto a tus necesidades.

Poniendo todo junto

He separado las equivalencias y las funciones del programa así que en total son dos archivos que componen el código fuente, mismo que te dejaré en mi GitHub.

Recuerda que en mi blog tengo más contenido de Python y que he hecho el mismo traductor en C y Java.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 1,347 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

0 Comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: