We can use functions to organize our code and make it easier to understand. One main function can call slightly smaller functions that each have a specific goal. Those functions can call more specific functions if necessary. Each function does a part of a larger task.
Imagine we were making a program that creates a random bag of marbles and describes it to us. We would need to create and describe each marble. We could have a main
program that looks like:
def main(): random_bag = create_random_bag() display_bag()
Our create_random_bag
function might look like:
def create_random_bag(): marble1 = create_random_marble() marble2 = create_random_marble() marble3 = create_random_marble() return [marble1, marble2, marble3]
The create_random_marble
might contain logic for what the marble looks like, and on the program would go, describing more and more detailed logic. With this kind of structure, our programs become more organized and easy to read.
Now, we’ll practice organizing a program by creating functions.
Instructions
Codey has to move pretty far this time. While we could just load up function A
with a lot of blocks and call it multiple times, let’s try to make a hierarchy.
Try defining function A
with multiple calls to Move Right
, then a function B
with multiple calls to function A
. Then call function B multiple times.
Throughout this course we will use Blockly commands to guide Codey towards their goal. Drag the commands into the right hand box and connect them together to make a program.
For this exercise, combine the movement commands together to have Codey move onto the flag.
Hint
Solution
Define Function A: Move Right Move Right Define Function B: Call Function A Call Function A Call Function A Call Function B Call Function B