Solución al Ejercicio: Formatear nombre completo
📋 Copiar código
def formatear_nombre_completo(nombre_completo):
"""
Formatea un nombre completo de "Nombre Apellido1 Apellido2 ..." a "Apellidos, Nombre".
Args:
nombre_completo: La cadena de texto con el nombre completo.
Returns:
Una cadena con el nombre formateado como "Apellidos, Nombre".
"""
partes = nombre_completo.split()
if not partes:
return ""
nombre = partes[0]
apellidos = " ".join(partes[1:])
if apellidos:
return f"{apellidos}, {nombre}"
else:
return nombre
# Ejemplos de uso
nombre1 = "Juan Pérez García"
resultado1 = formatear_nombre_completo(nombre1)
print(f"'{nombre1}' formateado: '{resultado1}'")
nombre2 = "María López"
resultado2 = formatear_nombre_completo(nombre2)
print(f"'{nombre2}' formateado: '{resultado2}'")
nombre3 = "Pedro Sánchez Fernández Ruiz"
resultado3 = formatear_nombre_completo(nombre3)
print(f"'{nombre3}' formateado: '{resultado3}'")
nombre4 = "Ana"
resultado4 = formatear_nombre_completo(nombre4)
print(f"'{nombre4}' formateado: '{resultado4}'")
nombre5 = ""
resultado5 = formatear_nombre_completo(nombre5)
print(f"'' formateado: '{resultado5}'")
nombre6 = " Carlos Martínez "
resultado6 = formatear_nombre_completo(nombre6)
print(f"'{nombre6}' formateado: '{resultado6}'")
Explicación del Código:
- Función
formatear_nombre_completo(nombre_completo)
:
- Divide la cadena
nombre_completo
en una lista de partes
(palabras) utilizando el método
split()
.
- Verifica si la lista
partes
está vacía. Si lo está, devuelve una cadena vacía.
- Asigna la primera palabra de la lista (
partes[0]
)
a la variable nombre
.
- Utiliza
" ".join(partes[1:])
para unir todas las palabras restantes de la lista (a partir del segundo
elemento) en una sola cadena llamada apellidos
, con un
espacio entre cada apellido.
- Verifica si hay apellidos (
if
apellidos:
).
- Si hay apellidos, devuelve una
cadena formateada como f"{apellidos}, {nombre}".
- Si no hay apellidos (solo había un
nombre en la entrada), devuelve solo el
nombre
.
Ejemplos de Uso:
Los ejemplos muestran cómo la función formatea
diferentes nombres completos, incluyendo casos con uno o varios apellidos,
nombres sin apellidos y cadenas con espacios en blanco adicionales. La función
asume que la primera palabra es siempre el nombre.