# Week 5

## 0 Finish last weeks stuff!

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).

## 1 Fun with Functions

### 1.1 Maximal entertainment

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 function

### 1.2 Sum thing to do

Create 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!)

## 2 Import-ant Syntax

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 updated