Solución al Ejercicio: Convertir texto a morse
📋 Copiar código
def texto_a_morse(texto):
"""
Convierte una cadena de texto a código Morse.
Args:
texto: La cadena de texto a convertir.
Returns:
La representación en código Morse del texto.
"""
morse_code = {
'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': '--..',
'0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-',
'5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.',
' ': ' ' # Espacio entre palabras
}
texto_morse = ''
for letra in texto.upper():
if letra in morse_code:
texto_morse += morse_code[letra] + ' '
else:
# Ignorar caracteres no soportados
pass
return texto_morse.strip()
# Ejemplos de uso
texto1 = "Hola Mundo"
morse1 = texto_a_morse(texto1)
print(f"'{texto1}' en Morse: '{morse1}'")
texto2 = "SOS"
morse2 = texto_a_morse(texto2)
print(f"'{texto2}' en Morse: '{morse2}'")
texto3 = "123 ABC"
morse3 = texto_a_morse(texto3)
print(f"'{texto3}' en Morse: '{morse3}'")
texto4 = "Texto con ñ"
morse4 = texto_a_morse(texto4)
print(f"'{texto4}' en Morse: '{morse4}'")
texto5 = ""
morse5 = texto_a_morse(texto5)
print(f"'' en Morse: '{morse5}'")
Explicación del Código:
-
def texto_a_morse(texto):
:
- Define una función llamada
texto_a_morse
que toma una cadena de texto (texto
)
como entrada.
-
morse_code = { ... }
:
- Se crea un diccionario
morse_code
que mapea las letras mayúsculas y los números básicos a su
representación en código Morse. También incluye un espacio para separar
palabras.
-
texto_morse = ''
:
- Inicializa una cadena vacía
texto_morse
para almacenar el resultado en código Morse.
-
for letra in texto.upper():
:
- Itera a través de cada
letra
en el texto
de entrada, convirtiéndola a mayúsculas para
asegurar la coincidencia con las claves del diccionario morse_code
.
-
if letra in morse_code:
:
- Verifica si la
letra
actual
está presente como clave en el diccionario morse_code
.
-
texto_morse += morse_code[letra]
+ ' '
:
- Si la letra se encuentra en el
diccionario, se añade su correspondiente código Morse al
texto_morse
, seguido de un espacio para separar las letras.
-
else:
:
- Si la letra no se encuentra en el
diccionario (por ejemplo, caracteres especiales como la 'ñ' en este
ejemplo básico), se ignora.
-
return texto_morse.strip()
:
- Finalmente, se devuelve la cadena
texto_morse
, eliminando cualquier espacio en blanco al final con
.strip()
.