Как правильно округлить проценты? Есть такой вот набор данных которые в сумме дают 100% {'key_1': 10.55, 'key_2': 30.90, 'key_3': 58.55}. Какие есть методы что бы округлить числа до целых но при этом что бы получить в итоге 100? Есть ли какой то пакет или что то из стандартной библиотеки python?

21 Авг 2019 в 06:05
133 +1
0
Ответы
1

Для округления процентов до целых чисел так, чтобы их сумма составляла 100%, можно воспользоваться следующим подходом:

Округлить все значения до целых чисел.Вычислить разницу между округленной суммой и 100%.Добавить эту разницу к одному из округленных значений, чтобы скорректировать итоговую сумму до 100%.

Пример реализации этого подхода на Python с использованием стандартной библиотеки:

data = {'key_1': 10.55, 'key_2': 30.90, 'key_3': 58.55}
rounded_data = {key: round(value) for key, value in data.items()}
total = sum(rounded_data.values())
diff = 100 - total
# Корректируем одно из значений, чтобы общая сумма равнялась 100%
if diff != 0:
max_value_key = max(rounded_data, key=rounded_data.get)
rounded_data[max_value_key] += diff
print(rounded_data)

Этот код округляет значения до целых чисел и корректирует одно из значений для того, чтобы общая сумма была равна 100%.

20 Апр в 13:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир