# Week 5

There were a lot of exercises last week, try and finish the for/while loop exercises before attempting this weeks material on functions (don't worry about completing the challenge problems though).

Create a function which takes in a list and prints out the biggest value in the list (

**don't**use pythons max() function!)**Extension**

Instead,

**return**the maximum value and print it outside of the functionCreate a function which accepts a

**list**of numbers and prints the**sum**of all the numbers**Extension**

Get your function to return the

**average**value in the list (You'll want to use len())**1.3 Developing a range of skills**

Create a function which mimics the function of range(), by returning a list of integers from the minimum value to the maximum value - 1 (i.e. my_range(min, max))

**Extension 1**

Use

**default arguments**such that if the "min" argument is not given, the function starts counting from zero**Extension 2**

Try and implement the range function using recursion (you can use another function to do the actual list creation, if you like, so long as it uses recursion!)

Import the following two packages, renaming them, such that you can get the following code snippet to run:

- Import "numpy", renamed to "np"
- Import the "pyplot" module from the "matplotlib" package, renamed to "plt"

Then run:

# Scary block of awful code

plt.scatter([0.35 * (2/7) + 0.15, 0.5 - 0.35 * (2/7) ], [2, 2], c='b', marker='s', s=300 )

plt.scatter(0.325, 0.75, c='k', marker='^', s=150);l = np.arange(0.15, 0.51, 0.01)

plt.plot(l ,np.sin(np.linspace(np.pi, 2*np.pi, len(l))), c="r")

plt.axis('off');plt.margins(0.25);plt.title("?sracs eseht tog I woh wonk annaW"[::-1])

plt.show()

You'll know when it's working ;)

Last modified 3yr ago