Variables, Types & Operators · Lesson 20

Mini Lab Calculate a Shopping Basket Total

This mini lab combines variables, numeric types, arithmetic and formatting to calculate a basket subtotal, discount/tax rule and final total from small item data.

ConceptWorked examplePracticeKnowledge check
Textbook walkthrough

Mini Lab Calculate a Shopping Basket Total

This mini lab combines variables, numeric types, arithmetic and formatting to calculate a basket subtotal, discount/tax rule and final total from small item data.

Learning goal: explain why Mini Lab Calculate a Shopping Basket Total behaves this way, apply it to a small example, and verify the result independently. Begin by being able to justify this first step: State the small task and expected result before coding.

Deeper walkthrough

Read Mini Lab Calculate a Shopping Basket Total as a mechanism, not a recipe

Treat this as a sequence of observable decisions rather than one opaque command. Stage 1: State the small task and expected result before coding. Stage 2: Use the concepts from this module rather than introducing unnecessary new machinery. Stage 3: Inspect intermediate values on the tiny example. Final checkpoint: Explain why the final result follows from the code.

Mechanism

Follow the transformation

State the small task and expected result before coding.

Use the concepts from this module rather than introducing unnecessary new machinery.

Inspect intermediate values on the tiny example.

Evidence

Know what would convince you

  • Trace a tiny input by hand and compare the runtime result.
  • Inspect type, value/shape and any mutation/side effect explicitly.
Useful distinctionInput: Objects/values supplied to the operation.
How it works

Trace the mechanism step by step

  1. State the small task and expected result before coding.
  2. Use the concepts from this module rather than introducing unnecessary new machinery.
  3. Inspect intermediate values on the tiny example.
  4. Check at least one edge case.
  5. Explain why the final result follows from the code.
Worked demonstration

Mini Lab Calculate a Shopping Basket Total

# Step 1 — Compute the right-hand expression and store its result in `prices` for the next step.
prices = [12.50, 8.00, 3.50]
# Step 2 — Compute the right-hand expression and store its result in `subtotal` for the next step.
subtotal = sum(prices)
# Step 3 — Compute the right-hand expression and store its result in `tax` for the next step.
tax = subtotal * 0.10
# Step 4 — Display the current value explicitly so the result/state can be inspected during execution.
print(round(subtotal + tax, 2))
Expected / illustrative result
The subtotal is 24.0; adding 10% tax gives 26.4.
Interpret the result.

For Mini Lab Calculate a Shopping Basket Total, trace the specific input through the mechanism above and independently verify one returned value, state change or side effect.

Distinctions & related ideas

Place the concept correctly

InputObjects/values supplied to the operation.
StateNames or mutable objects that may change during execution.
OutputReturned value, side effect, file, plot or exception to inspect.
Use deliberately

When it is appropriate

Use Mini Lab Calculate a Shopping Basket Total when it answers a defined question in Variables, Types & Operators and its inputs/assumptions match the current data or program state.

Boundary conditions

When to stop or reconsider

Reconsider Mini Lab Calculate a Shopping Basket Total when the required information is unavailable, the operation would violate a validation/data boundary, or a simpler operation answers the question more transparently.

Common mistakes

Failure modes to recognise

  • Running the operation on the wrong object/type or in the wrong environment.
  • Inferring correctness from “no exception” without checking the produced value/state.
  • Hiding a boundary case instead of making its behaviour explicit.
Verification

How to check the result

  • Trace a tiny input by hand and compare the runtime result.
  • Inspect type, value/shape and any mutation/side effect explicitly.
  • Run an edge or invalid case and confirm the exception/behaviour is deliberate.
Hands-on practice

Demonstrate understanding

Try this:

Construct a tiny example of Mini Lab Calculate a Shopping Basket Total. First state the small task and expected result before coding. Then use the concepts from this module rather than introducing unnecessary new machinery. Predict the result before execution and explain one boundary or failure case.

Use the smallest values that expose the language rule. Write the expected value and type first, then compare the actual state/output with that prediction.
Knowledge check

Check reasoning, not memorisation

Which approach best demonstrates understanding of Mini Lab Calculate a Shopping Basket Total?

Quick reference

Remember the logic

Step 1State the small task and expected result before coding.
Step 2Use the concepts from this module rather than introducing unnecessary new machinery.
Step 3Inspect intermediate values on the tiny example.
Step 4Check at least one edge case.
Lesson summary

What to remember

  • This mini lab combines variables, numeric types, arithmetic and formatting to calculate a basket subtotal, discount/tax rule and final total from small item data.
  • State the small task and expected result before coding.
  • Running the operation on the wrong object/type or in the wrong environment.
  • Trace a tiny input by hand and compare the runtime result.