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.

  1. apellido.upper() — pone la cadena entera en mayúsculas (“perez” se convierte en “PEREZ”).
  2. 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(): capitalize afecta a toda la cadena como una sola palabra, mientras que title capitalizaría cada palabra por separado.
  3. 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; nombre y apellido no 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.

Conexiones