#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 и перезапустить, чтобы избавиться от оставшихся переопределений parasitefloat
, которые вы, возможно, сделали раньше?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