2. Which of the following is the correct way to represent short-term memory storing the last 3 messages in Python?
easy
A. short_term_memory = messages[0]
B. short_term_memory = messages[:3]
C. short_term_memory = messages[3:]
D. short_term_memory = messages[-3:]
Solution
Step 1: Understand Python list slicing for last 3 items
Using messages[-3:] gets the last 3 messages from the list.
Step 2: Check other options
messages[:3] gets first 3, messages[3:] gets from 4th to end, messages[0] gets only first message.
Final Answer:
short_term_memory = messages[-3:] -> Option D
Quick Check:
Last 3 messages slice = messages[-3:] [OK]
Hint: Negative slice gets last items in list [OK]
Common Mistakes:
Using positive slice for last items
Selecting only one message instead of three
Confusing start and end indices
3. Given the code below, what will be the output of print(short_term_memory)?
messages = ['Hi', 'How are you?', 'I am fine', 'What about you?', 'Good!']
short_term_memory = messages[-2:]
print(short_term_memory)
medium
A. ['Hi', 'How are you?']
B. ['I am fine', 'What about you?']
C. ['What about you?', 'Good!']
D. ['Good!']
Solution
Step 1: Understand list slicing with negative indices
messages[-2:] selects the last two items from the list.
Step 2: Identify last two messages
The last two messages are 'What about you?' and 'Good!'.
Final Answer:
['What about you?', 'Good!'] -> Option C
Quick Check:
messages[-2:] = last two messages [OK]
Hint: Negative slice picks last elements [OK]
Common Mistakes:
Selecting wrong slice range
Confusing order of messages
Printing only one message instead of two
4. The following code is intended to keep only the last 3 messages in short-term memory, but it has a bug. What is the bug?
messages = ['Hello', 'What is AI?', 'Tell me more', 'Thanks']
short_term_memory = messages[3:]
print(short_term_memory)
medium
A. It causes an IndexError
B. It keeps only the last message instead of last three
C. It keeps the first three messages instead of last three
D. It clears the list completely
Solution
Step 1: Analyze the slice messages[3:]
This slice starts at index 3 and goes to the end, so it keeps only the last message 'Thanks'.
Step 2: Compare with intended behavior
The goal was to keep last 3 messages, but this code keeps only one message.
Final Answer:
It keeps only the last message instead of last three -> Option B
Quick Check:
messages[3:] = last message only [OK]
Hint: Check slice start index carefully [OK]
Common Mistakes:
Assuming slice keeps last 3 messages
Expecting an error when none occurs
Confusing slice start and end
5. You want an AI agent to remember the last 4 messages in a conversation to keep context. The conversation messages are stored in a list called chat_history. Which code snippet correctly updates the short-term memory to always hold the last 4 messages after adding a new message new_msg?
hard
A. chat_history.append(new_msg)
short_term_memory = chat_history[-4:]
B. short_term_memory = chat_history[:4]
chat_history.append(new_msg)
C. short_term_memory = chat_history[-4:]
chat_history.append(new_msg)
D. chat_history = chat_history[-4:]
short_term_memory = new_msg
Solution
Step 1: Add new message to chat_history first
Appending new_msg to chat_history updates the conversation.
Step 2: Slice last 4 messages for short-term memory
Using chat_history[-4:] gets the last 4 messages including the new one.
Final Answer:
chat_history.append(new_msg)
short_term_memory = chat_history[-4:] -> Option A