12.7. A function that accumulates

We have used the len function a lot already. If it weren’t part of python, our lives as programmers would have been a lot harder.

Well, actually, not that much harder. Now that we know how to define functions, we could define len ourselves if it did not exist. Previously, we have used the accumlator pattern to count the number of lines in a file. Let’s use that same idea and just wrap it in a function definition. We’ll call it mylen to distinguish it from the real len which already exists. We actually could call it len, but that wouldn’t be a very good idea, because it would replace the original len function, and our implementation may not be a very good one.

        func-5-1: Rearrange the code statements to match the activecode window above. (This is an exercise in noticing where the indenting and outdenting happens, and where the return statement goes.)
def mylen(x):
---
    c = 0 # initialize count variable to 0
---
    for y in x:
---
        c = c + 1   # increment the counter for each item in x
---
    return c
---
print(mylen("hello"))
print(mylen([1, 2, 7]))
        

Check your Understanding

1. Write a function named total that takes a list of integers as input, and returns the total value of all those integers added together.
2. Write a function called count that takes a list of numbers as input and returns a count of the number of elements in the list.
Next Section - 12.8. Variables and parameters are local