Solución al Ejercicio: Convertir a formato título
📋 Copiar código
def convertir_a_formato_titulo(texto):
"""
Convierte una cadena de texto en español a formato de título,
dejando en minúsculas los artículos y preposiciones comunes
a menos que sean la primera palabra.
Args:
texto: La cadena de texto de entrada en español.
Returns:
La cadena convertida a formato de título.
"""
articulos_preposiciones = ["de", "la", "el", "los", "las", "un", "una", "unos", "unas",
"en", "con", "sin", "por", "para", "a", "desde", "hasta",
"hacia", "sobre", "tras"]
palabras = texto.lower().split()
resultado = []
for indice, palabra in enumerate(palabras):
if indice == 0 or palabra not in articulos_preposiciones:
resultado.append(palabra.capitalize())
else:
resultado.append(palabra)
return " ".join(resultado)
# Ejemplos de uso
texto1 = "hola mundo cruel"
resultado1 = convertir_a_formato_titulo(texto1)
print(f"'{texto1}' en formato título: '{resultado1}'")
texto2 = "la casa de papel"
resultado2 = convertir_a_formato_titulo(texto2)
print(f"'{texto2}' en formato título: '{resultado2}'")
texto3 = "EL PRINCIPITO"
resultado3 = convertir_a_formato_titulo(texto3)
print(f"'{texto3}' en formato título: '{resultado3}'")
texto4 = "un día en el parque"
resultado4 = convertir_a_formato_titulo(texto4)
print(f"'{texto4}' en formato título: '{resultado4}'")
texto5 = "CONSEJOS PARA LA VIDA"
resultado5 = convertir_a_formato_titulo(texto5)
print(f"'{texto5}' en formato título: '{resultado5}'")
texto6 = "a través del espejo"
resultado6 = convertir_a_formato_titulo(texto6)
print(f"'{texto6}' en formato título: '{resultado6}'")
texto7 = ""
resultado7 = convertir_a_formato_titulo(texto7)
print(f"'' en formato título: '{resultado7}'")
Explicación del Código:
- Función
convertir_a_formato_titulo(texto)
:
- Define una lista
articulos_preposiciones
con las palabras comunes en español que
generalmente no se capitalizan en los títulos (a menos que sean la
primera palabra).
- Convierte todo el
texto
de
entrada a minúsculas y lo divide en una lista de palabras
utilizando el método split()
.
- Inicializa una lista vacía
resultado
para almacenar las palabras con el formato de título.
- Itera a través de la lista de
palabras
junto con su índice (indice
).
- Para cada
palabra
:
- Si es la primera palabra de la
frase (
indice == 0
) o si la palabra no está en la lista
de articulos_preposiciones
, se capitaliza la primera
letra de la palabra utilizando .capitalize()
y se añade
al resultado
.
- Si la palabra no es la primera y
está en la lista de artículos y preposiciones, se añade al
resultado
tal como está (en minúsculas).
- Finalmente, une las palabras de la lista
resultado
con un espacio en blanco para formar la cadena
con formato de título y la devuelve.
Ejemplos de Uso:
Los ejemplos muestran cómo la función convierte
diferentes frases en español al formato de título, aplicando la regla de dejar
en minúsculas los artículos y preposiciones comunes a menos que sean la primera
palabra.