Я создал упорядоченный словарь, помогающий умножать каждую комбинацию из 2 элементов друг на друга.Ключ хранит умножение, а значение хранит факторы.Итак, в моем коде ниже, od, который является упорядоченным словарем, производит:
OrderedDict ([(2, (2, 1)), (3, (3, 1)), (4, (2, 2))), (6, (3, 2))])
import collections
list = [2,3]
cost = 0.64
markup = 0.25
a = [(i*j) for i in list for j in range(1,3)]
b = [(i, j) for i in list for j in range(1,3)]
keys = a
values = b
d1 = dict(zip(keys, values))
od = collections.OrderedDict(sorted(d1.items())) # Ordered Dictionary
def profit_marg_calc(paid, free): # Profit Margin Calculator
total_cost = ((paid)+(free))*cost
revenue = paid*2
profit = revenue - total_cost
profit_margin = profit/total_cost
return profit_margin
print(max([profit_marg_calc(i,j) for i in od for j in od])) # Max Profit Margin
1.34375
Когда я вычисляю максимальную маржу прибыли, передавая значения из упорядоченного словаря, как я могу написать код для отслеживания факторовчто дало 1.34375?Например, как я могу показать, что это была комбинация слова (2,1) (3,2) из упорядоченного словаря?