联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Python编程Python编程

日期:2025-02-19 10:06

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
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp