Why must default parameters come last, and how does naming arguments at the call site free you from remembering their order?
Short drills on what this video just taught. Write the code, run the checks, and reveal the answer only if you are stuck.
The helper below decides whether a guess is close enough to the square root of x. As written, the author's tolerance is welded into the body, so every caller gets the same one whether it suits them or not.
Rework it so that a caller may supply their own tolerance as a third parameter named epsilon, and still gets the author's 0.01 when they say nothing at all. Keep the name close_enough and keep guess and x as the first two parameters — and make sure nothing left in the body overwrites what the caller passed in.