## IT 116: Introduction to Scripting Homework 10

### Assignment

#### Due

Sunday, November 18th at 11:59 PM

#### Deliverables

There is one deliverable for this assignment
• hw10.py
It must be in an hw10 directory, which you must create inside a hw directory inside your it116 directory.

Make sure the script obeys all the rules in the Script Requirements page.

#### Specification

Write a script that defines these 4 functions
• list_average
• list_minimum
• list_maximum
• above_average

### list_average

This functions must have the following header
`def list_average(number_list):`
This function should compute the average of the numbers in the last and return that number rounded to the nearest whole number.

### list_minimum

This functions must have the following header
`def list_minimum(number_list):`
This function should loop through the list and find the smallest number in the list.
You should assume that no number in the list is greater than 100.
Use the following algorithm
```set a variable to hold the current minimum value to the highest possible value
for each entry in the list
if the entry is smaller than the current minimum
set the current minimum to the entry```

### list_maximum

This functions must have the following header
`def list_maximum(number_list):`
This function should loop through the list and find the largest number in the list.
You should assume that no number in the list is less than 0.
Use an algorithm similar to the one above.

### above_average

This functions must have the following header
`def above_average(number_list):`
This function should call list_average to compute the average and count the number of entries that are greater than that average.

#### Suggestions

1. Create the script file and make it executable.
Run the script.
It should produce no output. Fix any errors you find.
2. Create a function header for each of the four functions.
For the body of each function write `pass`.
Copy the test code to the bottom of your script.
Run the script and fix any errors you find.
3. Remove the `pass` statement in list_average.
Set the variable total to 0.
Write a `for` loop that loops through the parameter.
Inside the loop, add the value each number to total.
Run the script and fix any errors you find.
4. Using the value of total and the length of the parameter (it is a list), change the `return` statement so it returns the average of the numbers in the list.
Run the script and fix any errors you find.
5. Modify the `return` statement so it does not return a decimal.
Run the script and fix any errors you find.
6. Remove the `pass` statement in list_minimum.
Set the variable minimum to 100.
Return minimum.
Run the script and fix any errors you find.
7. Just before the `return` statement in list_minimum write a `for` loop for every value in the parameter.
Inside the loop write an `if` statement that checks whether the value of each number is less than minimum.
If the number is less, set minimum to this new value. Run the script and fix any errors you find.
8. Remove the `pass` statement in list_maximum.
Set the variable maximum to 0.
Return maximum.
Run the script and fix any errors you find.
9. Just before the `return` statement in list_maximum write a `for` loop for every value in the parameter.
Inside the loop write an `if` statement that checks whether the value of each number is greater than maximum.
If the number is greater, set maximum to this new value.
Run the script and fix any errors you find.
10. Remove the `pass` statement in above_average.
Call the function list_average using the parameter as the argument, and store the returned value in the variable average.
Return average.
Run the script and fix any errors you find.
11. Before the `return` statement in above_average set the variable above_count to 0.
Return the value of above_count.
Run the script and fix any errors you find.
12. Just before the `return` statement in above_average write a `for` loop for every value in the parameter.
Inside the loop write an `if` statement that checks whether the value of each number is greater than average.
If it is, increment above_count.
Run the script and fix any errors you find.

#### Test Code

At the bottom of the script you must have the following code
```numbers = [62, 60, 58, 50, 85, 93, 99, 77, 72, 74, 61, 68, 73, 65, 57]
print("numbers      :", numbers)
print("average      :", list_average(numbers))
print("minimum      :", list_minimum(numbers))
print("maximum      :", list_maximum(numbers))
print("above average:", above_average(numbers))```

#### Testing

When you run the script, your output should look like this
```numbers      : [62, 60, 58, 50, 85, 93, 99, 77, 72, 74, 61, 68, 73, 65, 57]
average      : 70
minimum      : 50
maximum      : 99
above average: 7```
Be sure to run this script on the Unix machine so you know it works in the environment in which I will run it when I score your homework.