← Все вопросы
Как посчитать среднее арифметическое и не получить целое вместо дробного?
4
Считаю среднее оценок: сумма делить на количество. Но иногда получаю целое число, хотя должно быть с дробью. Например, среднее 4 и 5 у меня выходит 4, а не 4.5. Что не так?
2 ответа
9
✓ Принятый ответ — помог автору
Скорее всего ты делишь через // (целочисленное деление) — оно отбрасывает дробную часть. Для среднего нужно обычное /:
marks = [4, 5]
avg = sum(marks) / len(marks)
print(avg) # 4.5
sum() складывает все элементы, len() даёт их количество. Используй именно / с одной чертой — тогда дробь сохранится.
Если хочешь округлить до 2 знаков для вывода: round(avg, 2).
3
Ещё нюанс: если список может оказаться пустым, len(marks) будет 0 и поделить не получится — поймаешь ZeroDivisionError. Защитись проверкой if marks: перед делением.
Ваш ответ
Войдите, чтобы ответить на вопрос.