3 usuarios conectados

Invertir capitalización. Ejercicio en Python

Comparte esto

 

Escribe una función en Python llamada intercambiar_case que tome una cadena de texto como entrada y devuelva una nueva cadena donde la capitalización de cada letra se invierte (las letras mayúsculas se convierten en minúsculas y las letras minúsculas se convierten en mayúsculas). Los demás caracteres (como números, símbolos y espacios) deben permanecer sin cambios.



Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  Solución al Ejercicio: Invertir capitalización

📋 Copiar código


def intercambiar_case(texto):
  """
  Invierte la capitalización de cada letra en una cadena de texto.

  Args:
    texto: La cadena de texto de entrada.

  Returns:
    Una nueva cadena con la capitalización de las letras invertida.
  """
  nueva_cadena = ""
  for char in texto:
    if 'a' <= char <= 'z':
      nueva_cadena += char.upper()
    elif 'A' <= char <= 'Z':
      nueva_cadena += char.lower()
    else:
      nueva_cadena += char
  return nueva_cadena

# Ejemplos de uso
texto1 = "Hola Mundo"
resultado1 = intercambiar_case(texto1)
print(f"'{texto1}' con la capitalización invertida: '{resultado1}'")

texto2 = "ProgramacionEnPython"
resultado2 = intercambiar_case(texto2)
print(f"'{texto2}' con la capitalización invertida: '{resultado2}'")

texto3 = "aBcDeFgHiJkLmNoPqRsTuVwXyZ"
resultado3 = intercambiar_case(texto3)
print(f"'{texto3}' con la capitalización invertida: '{resultado3}'")

texto4 = "123 !?."
resultado4 = intercambiar_case(texto4)
print(f"'{texto4}' con la capitalización invertida: '{resultado4}'")

texto5 = ""
resultado5 = intercambiar_case(texto5)
print(f"'{texto5}' con la capitalización invertida: '{resultado5}'")

texto6 = "eSpAÑA"
resultado6 = intercambiar_case(texto6)
print(f"'{texto6}' con la capitalización invertida: '{resultado6}'")

Explicación del Código:

  1. Función intercambiar_case(texto):
    • Inicializa una cadena vacía nueva_cadena para construir el resultado.
    • Itera a través de cada carácter char en la cadena de entrada texto.
    • Para cada carácter, realiza las siguientes comprobaciones:
      • if 'a' <= char <= 'z': Si el carácter es una letra minúscula, se convierte a mayúscula utilizando char.upper() y se añade a nueva_cadena.
      • elif 'A' <= char <= 'Z': Si el carácter es una letra mayúscula, se convierte a minúscula utilizando char.lower() y se añade a nueva_cadena.
      • else: Si el carácter no es una letra (es un número, símbolo o espacio), se añade tal cual a nueva_cadena.
    • Finalmente, devuelve la nueva_cadena con la capitalización invertida.

Ejemplos de Uso:

Los ejemplos muestran cómo la función invierte la capitalización de las letras en diferentes cadenas de texto, dejando los demás caracteres sin modificar. Se incluyen casos con mayúsculas, minúsculas, mezclas de ambas, números, símbolos y una cadena vacía. También se incluye un ejemplo con una palabra en español para demostrar que funciona con caracteres acentuados siempre que el sistema los reconozca como letras.