Aan de slagGa gratis aan de slag

Bouw een tool met Python-code

Nu je chatbot de tools voor historische gebeurtenissen en Wikipedia heeft, wil de schoolleiding ook een grammaticatool toevoegen voor het Engelse curriculum. Ze hebben je gevraagd een palindroomchecker te bouwen die bepaalt of een ingevoerde zin of woord hetzelfde leest als het omgekeerd wordt getypt. Leerlingen moeten deze tool kunnen gebruiken om verschillende soorten invoerstrings te testen om te controleren of het palindromen zijn, zoals "level" of "never odd or even", die allebei hetzelfde lezen wanneer je ze achterstevoren typt.

Deze oefening maakt deel uit van de cursus

Agentic Systems ontwerpen met LangChain

Cursus bekijken

Oefeninstructies

  • Geef het invoertype voor de tool op als een string.
  • Zet de tekens om naar kleine letters met .lower() en verwijder niet-alfanumerieke tekens met .isalnum().
  • Om te bepalen of de tekst een palindroom is, controleer je of de opgeschoonde tekst gelijk is aan de omgekeerde versie.
  • Vul de placeholders van de else-instructie in met de oorspronkelijke invoer om het juiste bericht voor niet-palindromen te retourneren.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

@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."
Code bewerken en uitvoeren