Ejercicio 02 — Di si una palabra es palíndromo ignorando mayúsculas/minúsculas
Dificultad: verde · Módulo 06 (Cadenas)
Enunciado
Di si una palabra es palíndromo ignorando mayúsculas/minúsculas
Cómo se resuelve
Detectar un palíndromo combina dos ideas de cadenas: normalizar antes de comparar y darle la vuelta con slicing.
normal = palabra.lower()— pasamos todo a minúsculas para que “Anita” y “anita” se traten igual..lower()devuelve una cadena nueva (la original no cambia, porquestres inmutable); por eso guardamos el resultado ennormal.normal == normal[::-1]— una palabra es palíndromo si es idéntica a sí misma invertida.normal[::-1]genera la versión al revés con slicing de paso-1, y==compara las dos cadenas carácter a carácter.- Según el resultado del
if, imprimimos el mensaje. Fíjate en que en elprintmostramospalabra(la original, con sus mayúsculas), nonormal: la normalización era solo para comparar, no para mostrar.
Trampa habitual: comparar directamente palabra == palabra[::-1] sin bajar a minúsculas. Entonces “Anita” fallaría, porque la ‘A’ inicial en mayúscula no coincide con la ‘a’ final. Normaliza siempre antes de comparar.
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 02 — PRACTICA (rellena los TODO)
# Enunciado: Di si una palabra es palíndromo ignorando mayúsculas/minúsculas
# Dificultad: verde
# Ejecutar: python3 ej02_practica.py
palabra = input("Introduce una palabra: ")
# TODO: pasa la palabra a minusculas con .lower() para normalizar el caso
normal = ""
# TODO: una palabra es palindromo si es igual a si misma invertida (normal[::-1])
# imprime "<palabra> ES palindromo" o "<palabra> NO es palindromo"
if True: # reemplaza por la comparacion normal == normal[::-1]
print()
else:
print()Solución — cópiala y ejecútala
# Curso de Python — Modulo 06: Cadenas: transformar y formatear
# Ejercicio 02 — MODELO (resuelto)
# Enunciado: Di si una palabra es palíndromo ignorando mayúsculas/minúsculas
# Dificultad: verde
# Ejecutar: python3 ej02_modelo.py
palabra = input("Introduce una palabra: ")
# Normalizamos a minusculas para que 'Anita' y 'anita' se comparen igual
normal = palabra.lower()
# Una palabra es palindromo si es igual a si misma invertida ([::-1])
if normal == normal[::-1]:
print(f"{palabra} ES palindromo")
else:
print(f"{palabra} NO es palindromo")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.