Поиск средних значений списка чисел

#python

#python

Вопрос:

 sales = [49.99, 20, 155.20, 71.65, 91.07]

length = len(sales)
max_value = max(sales)
min_value = min(sales)
sum_of_values = sum(sales)

print(length, max_value, min_value, sum_value)

average = float(sum_of_values/length)

answer = round(average,2)

print(answer)
  

Я пытаюсь получить сумму чисел в списке, а затем найти среднее значение, округлить среднее значение до 2 знаков после запятой, а затем распечатать его.

Я получаю эту ошибку:

 TypeError: 'float' object is not callable 
  

Как я могу исправить ошибку?

Комментарии:

1. здесь работает нормально: 77.58. Подсказка: нет необходимости преобразовывать среднее значение в значение с плавающей запятой: это уже значение с плавающей запятой. и sum_value неизвестно.

2. Не удается воспроизвести эту проблему. Помимо ошибки имени ( sum_value не определено, предположим, вы имели в виду sum_of_values ), код выполняется как ожидалось. С принтами 77.58

3. как вы назвали свой модуль? можете ли вы ввести print(float.__file__) / выйти из своей IDE и перезапустить, чтобы избавиться от оставшихся переопределений parasite float , которые вы, возможно, сделали раньше?

4. Может float = some value быть, до этого. Это распространенная ошибка для начинающих.

Ответ №1:

Ваш код отлично работает на моей машине.

Но в качестве предложения: в Python 3.4 был введен модуль статистики, который позволяет вам делать

 >>> from statistics import mean
>>> mean([1, 2, 3, 4, 4])
2.8
>>> mean([49.99, 20, 155.20, 71.65, 91.07])
77.582
  

Для получения дополнительной информации обратитесь к:https://docs.python.org/3/library/statistics.html#function-details