Functions may have been a mind-blowing amount of information, but do not worry. Just keep doing these exercises and going through your checklist from the last exercise and you will eventually get it.
There is one tiny point though that you might not have realized which we'll reinforce right now: The variables in your function are not connected to the variables in your script. Here's an exercise to get you thinking about this:
.. literalinclude:: ex/ex19.py :linenos:
This shows all different ways we're able to give our function cheese_and_crackers
the values it needs to print them. We can give it straight numbers. We can
give it variables. We can give it math. We can even combine math and variables.
In a way, the arguments to a function are kind of like our =
character
when we make a variable. In fact, if you can use =
to name something,
you can usually pass it to a function as an argument.
You should study the output of this script and compare it with what you think you should get for each of the examples in the script.
.. literalinclude:: ex/ex19.txt :language: console
- Go back through the script and type a comment above each line explaining in English what it does.
- Start at the bottom and read each line backwards, saying all the important characters.
- Write at least one more function of your own design, and run it 10 different ways.