top of page

# show some statistics

In this code, I didn't use built in function for statistics.

I made two function that takes a list argument:

1 - list_average(lst) --> take a list and return the average.

```def list_average(lst):
total = 0
for item in lst:
total += item

count_items = len(lst)

2 - list_max_min(lst) --> take a list and return the max and min items.

```def list_max_min(lst):
max_item = lst
min_item = lst
for item in lst:
if item > max_item:
max_item = item
elif item < min_item:
min_item = item

return max_item, min_item```

Then I take the input from user as numbers separated by spaces, and converted it to list

```print("Enter numbers separated by space between them: ")
lst = input().split(' ')```

Then to be sure no error arise, in a for loop I created two lists:

one for numeric values, and the other for wrong values which is not numeric.

```for item in lst:
try:
lst_numeric.append(float(item))
except ValueError:
lst_not_numeric.append(item)```

Then I call the functions I created to calcualate statistics.

```list_count = len(lst_numeric)
list_average = list_average(lst_numeric)
list_max, list_min = list_max_min(lst_numeric)```

Finally, I print the numeric values and their statistics, and if there are wrong values entered by the user, I print them in separate lines.

```print("the numbers: ")
print(lst_numeric)
print("has theses statistics:")
print("---------------------")
print("count:   " + str(list_count))
print("average: " + str(list_average))
print("max:     " + str(list_max))
print("min:     " + str(list_min))
if len(lst_not_numeric) > 0:
print("Note that you entered these wrong type input:")
print("---------------------------------------------")
print(lst_not_numeric)```

The complete code is here: