ELIZA I: asking questions
Asking questions is a great way to create an engaging conversation. Here, you'll create the very first hint of ELIZA's famous personality, by responding to statements with a question and responding to questions with answers.
A dictionary of responses with "question"
and "statement"
as keys and lists of appropriate responses as values has already been defined for you. Explore this in the Shell with responses.keys()
and responses["question"]
.
This exercise is part of the course
Building Chatbots in Python
Exercise instructions
- Define a
respond()
function which takes inmessage
as an argument, and uses the string's.endswith()
method to check if amessage
ends with a question mark. - If the
message
does end with a question mark, choose a random"question"
from theresponses
dictionary. Else, choose a random"statement"
from theresponses
. - Send the bot multiple messages with and without a question mark - these have been provided for you. If you want to experiment further in the Shell, be sure to first hit 'Run Code'.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
import random
def respond(message):
# Check for a question mark
if ____:
# Return a random question
return ____(____["____"])
# Return a random statement
return ____(____["____"])
# Send messages ending in a question mark
send_message("what's today's weather?")
send_message("what's today's weather?")
# Send messages which don't end with a question mark
send_message("I love building chatbots")
send_message("I love building chatbots")