En las entrevistas a menudo se plantean problemas similares 💼
Tienes una cadena de texto y necesitas convertir en mayúscula la primera letra de cada palabra. Para hacerlo más sencillo, supongamos que el texto no tiene signos de puntuación:
text = 'hola códica'
capitalize_words(text) # 'Hola Códica'
Hay muchas maneras de resolver este problema. Cuantas más maneras se puedan nombrar, mejor. Algunas de estas formas incluyen:
- Recorrido de la cadena de texto carácter por carácter.
- A través de la conversión a una lista.
- Expresiones regulares (este tema se trata en un curso separado).
Examinemos la solución a través de una lista. Para ello, utilizaremos el método de cadena split(), que divide una cadena en partes:
def capitalize_words(sentence):
# Definimos el separador — un espacio
separator = ' '
# split divide la cadena por el separador especificado
words = sentence.split(separator)
# ...
El siguiente paso es recorrer la lista de palabras resultantes y convertir la primera letra de cada palabra a mayúsculas.
def capitalize_words(sentence):
separator = ' '
words = sentence.split(separator)
# Creamos una lista de palabras procesadas
capitalized_words = []
for word in words:
capitalized_words.append(word.capitalize())
# Unimos las palabras procesadas de nuevo en una oración
return separator.join(capitalized_words)
text = 'hola códica'
print(capitalize_words(text)) # => Hola Códica
La última acción es la opuesta a la primera. Necesitamos unir las palabras y devolver la cadena resultante.
Fíjate en un detalle interesante. La conversión a mayúsculas no sucede en la lista original words, sino en una nueva. ¿Por qué? Este código simplifica significativamente la depuración. Si el algoritmo no funciona correctamente, siempre puedes ver el contenido de las listas words y capitalized_words. Si hubiéramos cambiado la lista words, habríamos perdido esta información.
Materiales adicionales
- Método split 📚 La biblioteca estándar de Python
- Método capitalize 📚 La biblioteca estándar de Python
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.