Answer: Python Puzzler #1418

The answer is D. The program prints:

12 1
What the program prints
Checked by running the program for real.

Why?

// divides and throws away the remainder: each friend gets 12 sweets. % gives the remainder: 1 sweet left over.

Trace table

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

sumanswer
37 // 312
37 % 31

The code again

sweets = 37
friends = 3
print(sweets // friends, sweets % friends)

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