Keep I/O and calculations in separate functions. This includes x = float(y) conversions (I'll take a little bit of blame for this one). These should be in functions that do not have input/output and can be tested. Also, functions that need to be tested cannot call other functions that do I/O.
For functions that make decisions, these need to be tested. If they print different things, that cannot be tested. So, make sure they return things.
Use README to share anything you think the grader should know about your code.
x = float(y)
conversions (I'll take a little bit of blame for this one). These should be in functions that do not have input/output and can be tested. Also, functions that need to be tested cannot call other functions that do I/O.