Answer: Python Puzzler #1809

The answer is B. The program prints:

baa
What the program prints
Checked by running the program for real.

Why?

A dictionary stores pairs: a key and its value. sounds["sheep"] looks up the key ‘sheep’ and gives back its value.

Trace table

A trace table follows the program step by step. Here’s this one:

keyvalue
lionroar
sheepbaa
cowmoo
duckquack

The code again

sounds = {
    "lion": "roar",
    "sheep": "baa",
    "cow": "moo",
    "duck": "quack",
}
print(sounds["sheep"])

Try it: change one number in the program and predict the new output before you run it.