Answer: Python Puzzler #3585

The answer is D. The program prints:

roar

This answer was checked by running the program for real.

Why?

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

Trace table

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

keyvalue
frogribbit
lionroar
owlhoot
mousesqueak

The code again

sounds = {
    "frog": "ribbit",
    "lion": "roar",
    "owl": "hoot",
    "mouse": "squeak",
}
print(sounds["lion"])

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