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

Diagramas de flujo

Diagrama de flujo (actividad) del ejercicio 06

Diagrama de flujo (grafo) del ejercicio 06

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)

Ejecútalo en el navegador

▶ Visualízalo paso a paso en Python Tutor — ve cómo cambian las variables línea a línea.

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