50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
|
"""
|
||
|
Comprobar palindromo
|
||
|
"""
|
||
|
|
||
|
|
||
|
def es_palindromo(texto):
|
||
|
"""
|
||
|
Función para comprobar si es un palindromo
|
||
|
Al texto se le elimina los espacios y acentos
|
||
|
"""
|
||
|
# Sustituyo vocales con acento y pongo texto en minúsculas
|
||
|
texto = texto.replace('á', 'a').replace('é', 'e').replace(
|
||
|
'í', 'i').replace('ó', 'o').replace('ú', 'u').lower()
|
||
|
|
||
|
# Declaro variables
|
||
|
al_derecho = ''
|
||
|
al_reves = ''
|
||
|
|
||
|
# Ordeno el texto al derecho y al revés sin espacios
|
||
|
for i in texto:
|
||
|
if i != ' ':
|
||
|
al_reves = i + al_reves
|
||
|
al_derecho += i
|
||
|
|
||
|
# Comparo el texto al derecho y al revés
|
||
|
return al_derecho == al_reves
|
||
|
|
||
|
# Explicacion
|
||
|
print("Este programa comprueba si el texto que introduzcas es un palindromo")
|
||
|
print("Para salir debes introducir \"salir\"\n")
|
||
|
|
||
|
|
||
|
# Bucle con la pregunta de la palabra, con la condicional true/false
|
||
|
# de respuesta y con otra pregunta por si quiere preguntar más.
|
||
|
|
||
|
txt = ''
|
||
|
while txt.lower() != 'salir':
|
||
|
txt = input('Dame un texto para comprobar si es palindromo: ')
|
||
|
|
||
|
print()
|
||
|
if txt == 'salir':
|
||
|
break
|
||
|
elif es_palindromo(txt):
|
||
|
print(f'El texto \"{txt}\" es palindromo')
|
||
|
else:
|
||
|
print(f'El texto \"{txt}\" no es palindromo')
|
||
|
print()
|
||
|
|
||
|
print('¡Ciao!')
|