README.md 2025-01-27
1 / 3
Simple Chatbot
CMSC 150-[01/02] - Spring 2025 - Project 1
Introduction
Most AI agents, particularly chatbots (see ELIZA, one of the first chatbots and Eugene Gootsman, the first
chatbot to pass the Turing Test), are really just made up of complex "if-else" statements. For this project, you
are going to make an extremely simple chatbot. In it, you'll check for keywords and phrases and have the
chatbot give unique responses.
Topics Covered
variable assignment and updating
user input
print statements and formatting
if-else conditionals
comparison
arithmetic
boolean conditioning
data types
Starter Code
A starter code file is given for you in simplebot-p1-TEMPLATE.py (replace 'TEMPLATE' with your last name). In
it, there are some global variables needed for the assignment (see Instructions), an infinite while loop to keep
the interaction going, and user input.
Instructions
1. Before the while loop, ask the user for their name and save it to the user_name variable.
2. Inside the while loop, write a total of 9 conditional statements (if, elif, else) that prints out a response
to user input. These responses must be distinct.
3 statements must check if a certain word is in the input
Example:
if "hello" in user_input:
print("Hello!")
3 additional statements must check if an exact phrase is said by the user
Example:
README.md 2025-01-27
2 / 3
if user_input == "What is your favorite color?":
print("My favorite color is black.")
1 additional statement must check if a "magic word" (saved in the variable MAGIC_WORD) is said
by the user. If so, the counter value magic_word_ct must be incremented by 1.
1 additional statement must check if the user has said 2 passwords -- saved as variables
PASSWORD1 and PASSWORD2 -- in the same input. If so, set the unlocked_password to true. Both
words must be said in the same input in order to activate. The words cannot be the same.
1 additional statement acts as a default statement regardless of the user input. 1 randomly
chosen response out of 4 possible responses must be printed out. These 4 possible condition
checks do not count towards the 9 total.
HINT: Use the random.randint(min,max) function to randomly pick a response
The user's name and the bot's name must be printed at some point during the program runtime.
This can be at the beginning, during the chat session, or at the end.
3. Outside of the while loop, print a goodbye message and 2 additional sentences based on 2 conditions:
If the magic word was said, print how many times it was said during the chat session.
If the user correctly said both passwords, and the unlocked_password is true, print the
SECRET_MESSAGE.
If neither of these conditions were met, you don't have to print anything else.
Example Use Case
This chat shows the conversation between the user "M" and a chatbot named "Alphonse" -- who is secretly a
cow. The user input is denoted with a ">" before the phrase.
The responses and inputs are annotated on the right side for the different phrases, words, magic words, and
password activations.
Note: Not all possible responses are shown and some default responses are repeated.
Note 2: Notice that when the user inputs the magic word and password checks, the bot prints a default response.
You don't have to have a unique response for these checks if you want to keep the magic word and passwords a
secret to the user.
Rules
DO NOT rename the variables included with the starter code
DO NOT remove the while loop -- it is necessary to run the constant chat or the breaking condition
statement (see lines 48+49) -- it is necessary to end the program. You are, however, allowed to change
the exit command variable EXIT_COMMAND at the top of the code.
Libraries (aside from the import random that is already included) are NOT ALLOWED to be imported.
This includes built-in Python libraries and external libraries.
Only use ASCII characters. Avoid using special characters or emojis.
README.md 2025-01-27
3 / 3
As per the syllabus, and for all assignments in this class, CODE FROM GENERATIVE AI IS PROHIBITED.
The code you turn in is your own. The code will be checked for plagiarism.
Hints
Be careful about the ordering of the conditionals and use of if-elif-else for these statements. The magic
word and password checks take the highest priority.
Have your bot ask the user questions after a response. It facilitates better chatting.
Make your default responses generic. It makes the chatbot more realistic and facilitates better chatting.
Test your chatbot out with friends and family and see how your bot responds!
Submission
Submit ONLY the Python file labeled simplebot-p1-[LASTNAME].py (where [LASTNAME] is your last name)
to Blackboard. The project is due at 2/16 11:59pm. For each hour, h, that it is late, your grade is reduced by h
points.
Rubric (100 pts)
General
[5 pts] Correct file is turned in and is correctly named (see Submission above).
[5 pts] Code runs without errors.
[10 pts] Code has header documentation -- name, date, class course name and section, and program
description
[10 pts] while statement loop and exiting condition are not modified
Bot Interaction
[10 pts] The responses are all different.
[5 pts] The user's name is saved and printed in at least one of the responses.
[5 pts] The bot's name is saved and printed in at least one of the responses.
[10 pts] 3 conditionals that check if a word is in the input (word-based conditional)
[10 pts] 3 conditionals that check if the entire input exactly matches a phrase (phrase-based
conditional)
[10 pts] 1 default conditional with 4 possible responses chosen at random
Ending Interaction
[10 pts] The magic word count is incremented, printed at the end of the session, and the correct
number of times it is said by the user is accurate.
[10 pts] The 2 passwords are different and the secret message is printed at the end if both words are
said in one user input during the session.
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。