вывод округленных значений в словаре и списке
Как получить при выводе округленные значения в словаре 'sum_every_medium' и в списке 'every_order_pure' в python?
ссылка на таблицу при желании https://disk.yandex.ru/i/3_L5uoVAazsjZg
Основной код:
from DefPure import pure
sum_every_medium = {}
every_order_pure = []
with open("data_no_header.txt", 'r') as f:
for line in f:
line = line.strip().split('\t')
medium, roi = pure(line)
every = '{} : {:.2f}$'.format(medium, roi)
every_order_pure.append(every)
if medium in sum_every_medium:
sum_every_medium[medium] += roi
else:
sum_every_medium[medium] = roi
print(sum_every_medium)
print()
print(every_order_pure)
Сама функция:
def pure(line):
cpa = {
'burgerclub' : 0.3,
'food-delefery' : 0.25
}
cpc = {
'city-magazine' : 7,
'foody' : 9
}
fixed = 4
pure = 0
orderId = line[0]
medium = line[-5]
source = line[-4]
amount = float(line[-1].replace(',', '.'))
cost = float(line[-3].replace(',', '.'))
# cpa pure
if medium == 'cpa_partner':
if source == 'burgerclub':
pure = amount * cpa['burgerclub'] - cost
else:
pure = amount * cpa['food-delefery'] - cost
# cpc pure
elif medium == 'cpc_partner':
if source == 'city-magazine':
pure = amount - (cpa['city-magazine'] + cost)
else:
pure = amount - (cpa['foody'] + cost)
# fixed pure
else:
pure = amount - (cost + 4)
return medium, pure