Answer: Python Puzzler #3717

The answer is B. The program prints:

5 3

This answer was checked by running the program for real.

Why?

// divides and throws away the remainder: each friend gets 5 sweets. % gives the remainder: 3 sweets left over.

Trace table

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

sumanswer
23 // 45
23 % 43

The code again

sweets = 23
friends = 4
print(sweets // friends, sweets % friends)

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