Construye una herramienta con código Python
Ahora que tu chatbot tiene a su disposición las herramientas de acontecimientos históricos y Wikipedia, a la dirección del colegio también le gustaría que añadieras una herramienta de gramática para el plan de estudios de inglés. Te han pedido que construyas un comprobador de palíndromos que determine si una frase o palabra introducida se lee igual aunque se escriba al revés. Los alumnos deben ser capaces de utilizar esta herramienta para probar distintos tipos de cadenas de entrada y comprobar si son palíndromos, como "nivel" o "nunca par o impar", que se leen igual cuando se escriben al revés.
Este ejercicio forma parte del curso
Diseño de Sistemas Agenéticos con LangChain
Instrucciones de ejercicio
- Especifica el tipo de entrada de la herramienta como una cadena.
- Convierte los caracteres a minúsculas utilizando
.lower()
, eliminando los caracteres no alfanuméricos utilizando.isalnum()
. - Para determinar si el texto es un palíndromo, comprueba si el texto depurado coincide con su versión invertida.
- Completa los marcadores de posición de la declaración
else
con la entrada original para devolver el mensaje adecuado para los no palíndromos.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
@tool
# Set input format to string
def palindrome_checker(text: ____) -> str:
"""Check if a word or phrase is a palindrome."""
# Remove non-alphanumeric characters and convert to lowercase
cleaned_text = ''.join(char.____() for char in ____ if char.____())
# Set up if-else block to check reversed text against original text
if cleaned_text == ____[::-1]:
return f"The phrase or word '{____}' is a palindrome."
else:
# Print an alternative statement if text is not a palindrome
____ f"The phrase or word '{____}' is not a palindrome."