CHAPTER 11 VISUAL LAB - Distinguish displayed and returned values
Book boards: 11a and 11b

PRACTICE ROUTINE
Cover the board answer. Predict aloud, try the example, compare with the
stated result, change one input, and try again. Explain a discrepancy
before changing another thing. All marketing examples are fictional.

Use boards 11a and 11b. Open walkthrough.py in Thonny and press F5.

EXPECTED OUTPUT
25.0
First stored: None
Second stored: 25.0

FOLLOW THE CODE
display_rate displays 25.0 during its call but has no return instruction,
so its caller receives None. calculate_rate returns 25.0 without displaying
it during the call. The final two print instructions display the values that
the two assignments actually received.

CHANGE, PREDICT, CHECK
In a practice copy, replace print(cost / enquiries) inside display_rate
with return cost / enquiries. Predict the complete output.
Answer: the first standalone 25.0 disappears. Only First stored: 25.0 and
Second stored: 25.0 remain. Both calls now return a reusable numeric value.

SECOND INPUT
Use arguments 120 and 8 for both calls. Each returned calculation should be
15.0 after the repair. Swapping the argument order would answer a different
question, so read which parameter receives each supplied value.

CONTRACT
This miniature assumes a positive enquiry count to isolate return versus
print. The full python/chapter11.py explicitly returns None for zero
enquiries and uses describe_rate to present unavailable results. Explain
that contract before extending this small example to accept zero.
