```
from __future__ import annotations
def mean(nums: list) -> float:
"""
Find mean of a list of numbers.
Wiki: https://en.wikipedia.org/wiki/Mean
>>> mean([3, 6, 9, 12, 15, 18, 21])
12.0
>>> mean([5, 10, 15, 20, 25, 30, 35])
20.0
>>> mean([1, 2, 3, 4, 5, 6, 7, 8])
4.5
>>> mean([])
Traceback (most recent call last):
...
ValueError: List is empty
"""
if not nums:
raise ValueError("List is empty")
return sum(nums) / len(nums)
if __name__ == "__main__":
import doctest
doctest.testmod()
```

Calculate the average of a list of numbers using mean.

Calculating the mean of a list of numbers is one of the most common ways to determine the average of those numbers.

Calculating a mean would be useful in these situations:

- Determining the average score for all players of a video game level.
- Finding the average grade for tests that a student took this semester.
- Determining the average size of all files in a directory/folder.

- Input a list of numbers.
- Calculate the sum of all numbers in the list.
- Count the numbers in the list.
- Divide the sum by the total count of numbers in the list.
- Return mean.

Given the list `[2, 4, 6, 8, 20, 50, 70]`

, let's calculate the average.

Send `[2, 4, 6, 8, 20, 50, 70]`

as input for a method/function.

Add all the numbers together.

`2 + 4 + 6 + 8 + 20 + 50 + 70 = 160`

, so `sum = 160`

.

Count the numbers in the list.

The list has seven numbers, so `count = 7`

.

Divide the sum of all the numbers by the count of the numbers.

```
sum = 160
count = 7
```

If we ignore significant digits: `sum / count = `

22.857142

If we properly consider significant digits: `sum / count = 23`

Return the value of 22.857142 or `23`

.