4 usuarios conectados

Convertir letras acentuadas a no acentuadas. Ejercicio en Python

Comparte esto

 

Escribe un código en Python que tome una frase y devuelva un diccionario con el recuento de cada letra que aparece en la frase (ignorando espacios y signos de puntuación, y considerando mayúsculas y minúsculas como la misma letra).


Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  Solución al Ejercicio: Convertir letras acentuadas a no acentuadas

📋 Copiar código


import unicodedata

def eliminar_acentos(frase):
    """
    Toma una frase en español y devuelve la misma frase con las vocales acentuadas
    reemplazadas por sus equivalentes sin acento.

    Args:
        frase: La frase en español (cadena de texto).

    Returns:
        Una nueva cadena de texto con las vocales sin acento.
    """
    texto_sin_acentos = ''.join(c for c in unicodedata.normalize('NFD', frase)
                                if unicodedata.category(c) != 'Mn')
    return texto_sin_acentos

# Ejemplo de uso
frase_con_acentos = "Ésta es una frase con acentos en español: áéíóú."
frase_sin_acentos = eliminar_acentos(frase_con_acentos)
print(f"Frase original: {frase_con_acentos}")
print(f"Frase sin acentos: {frase_sin_acentos}")

otra_frase_con_acentos = "La niña comió melón rápidamente."
otra_frase_sin_acentos = eliminar_acentos(otra_frase_con_acentos)
print(f"\nFrase original: {otra_frase_con_acentos}")
print(f"Frase sin acentos: {otra_frase_sin_acentos}")

 

Explicación del Código:

  • import unicodedata:

  • def eliminar_acentos(frase)::

  • """Docstring...""":

  • texto_sin_acentos = ''.join(c for c in unicodedata.normalize('NFD', frase) if unicodedata.category(c) != 'Mn'):

  • return texto_sin_acentos:

  • Ejemplo de uso:

  •