Averaging numbers in list

Viewed 52

Find 5 numbers Find average of numbers

#import statistics
print("enter 5#s")
num1 = int(input())
num2 = int(input())
num3 = int(input())
num4 = int(input())
num5 = int(input())
numbers = [num1, num2, num3, num4, num5]
numsum = sum(numbers)
print("sum is:", numsum)
#Above list is working
#fix below
def Average(numbers):
    return sum(numbers) / len(numbers)
print("AVG = ", round(Average, 2))

error traceback (most recent call last): file "main.py", line 15 in print("AVG = ", round(Average, 2)) TypeError: type function dosent define_round_method

2 Answers

You need to add an extra line at the end, which should be:

Average(numbers)

The last line (the call to print)

def Average(numbers):
    return sum(numbers) / len (numbers)
    print("AVG = ", round(Average, 2))

needs to be un-indented (moved to the left, outside of the function) and the function needs to be called with numbers as its argument, like this:

def Average(numbers):
    return sum(numbers) / len (numbers)
print("AVG = ", round(Average(numbers), 2))

Your code could be simplified and improved, maybe like this:

num_list = []
for i in range(5):
    s = input('Enter the {}. number: '.format(i+1))
    n = int(s)
    num_list.append(n)

the_sum = sum(num_list)
print('Sum:', the_sum)

the_avg = round(the_sum / len(num_list), 2)
print('Avg:', the_avg)

Sample run:

Enter the 1. number: 7
Enter the 2. number: 5
Enter the 3. number: 4
Enter the 4. number: 4
Enter the 5. number: 4
Sum: 24
Avg: 4.8
Related