Ejercicio 06 — Pide nombre y apellido y devuelve APELLIDO, Nombre
Dificultad: amarillo · Módulo 06 (Cadenas)
Enunciado
Pide nombre y apellido y devuelve APELLIDO, Nombre
Cómo se resuelve
Formatear “APELLIDO, Nombre” enseña que hay varios métodos para cambiar mayúsculas, cada uno con su matiz, y que se combinan dentro de una f-string.
apellido.upper()— pone la cadena entera en mayúsculas (“perez” se convierte en “PEREZ”).nombre.capitalize()— pone en mayúscula solo la primera letra y el resto en minúscula (“jUAN” se convierte en “Juan”). Es distinto de.title():capitalizeafecta a toda la cadena como una sola palabra, mientras quetitlecapitalizaría cada palabra por separado.f"{apellido.upper()}, {nombre.capitalize()}"— la f-string permite llamar a los métodos directamente dentro de las llaves. Python evalúa cada expresión, la convierte a texto y la inserta en su hueco. Como siempre, esos métodos devuelven copias;nombreyapellidono cambian.
Trampa habitual: usar .title() cuando quieres .capitalize(). Con un nombre compuesto como “juan pablo”, capitalize daría “Juan pablo” (solo la primera letra global) y title daría “Juan Pablo”. Elige según si tratas el dato como una palabra o como varias.
Para practicar — cópialo y complétalo
Pega este esqueleto y completa los TODO. Es la mejor forma de aprender: inténtalo antes de mirar la solución.
# Curso de Python — Modulo 06: Cadenas: transformar y formatear
# Ejercicio 06 — PRACTICA (rellena los TODO)
# Enunciado: Pide nombre y apellido y devuelve APELLIDO, Nombre
# Dificultad: amarillo
# Ejecutar: python3 ej06_practica.py
nombre = input("Nombre: ")
apellido = input("Apellido: ")
# TODO: construye un f-string "APELLIDO, Nombre"
# usa apellido.upper() y nombre.capitalize()
resultado = ""
# TODO: imprime el resultado
print()Solución — cópiala y ejecútala
# Curso de Python — Modulo 06: Cadenas: transformar y formatear
# Ejercicio 06 — MODELO (resuelto)
# Enunciado: Pide nombre y apellido y devuelve APELLIDO, Nombre
# Dificultad: amarillo
# Ejecutar: python3 ej06_modelo.py
nombre = input("Nombre: ")
apellido = input("Apellido: ")
# .upper() pone el apellido entero en mayusculas
# .capitalize() pone solo la primera letra del nombre en mayuscula
resultado = f"{apellido.upper()}, {nombre.capitalize()}"
print(resultado)Cómo usarlo
Pega el código en un fichero y ejecútalo con tu toolchain habitual (o el botón de Ejecutar de tu editor). Antes de mirar la solución, intenta completar tú el esqueleto: es la mejor forma de aprender.