В настоящее время я работаю над заданием, мы читаем файлы, содержащие общие ресурсы, общие ресурсы отмечены датой и значением общего ресурса. В задании мы должны использовать словари в качестве параметра во всех наших функциях.
Вот небольшой пример ввода общего ресурса;
2000-01-26, 3.67987
2000-01-27, 3.673608
2000-01-28, 3.393913
Цель состоит в том, чтобы найти две даты, когда покупка и продажа акций приносила вам наибольшую прибыль, а две даты, когда покупка и продажа приносили вам наибольшую прибыль. Я сделал словарь, содержащий пары дат и общие значения, теперь мне просто нужно сравнить их друг с другом. Словарь упорядочен следующим образом: {share value: date}
В настоящее время мне удалось решить эту проблему, поместив все значения общего ресурса в список, где я мог бы легче сравнивать их друг с другом, поскольку они проиндексированы. Затем я использую положение, чтобы снова найти значение доли, а затем использую его, чтобы найти значение соответствующего ключа в словаре.
Однако это решение неправильно использует словарь в качестве параметра, поэтому я считаю, что оно не удовлетворит моего профессора.
def calc_max_profit():
value = 0
profit = 0
max_profit = 0
for x in range(0, len(share_list)):
value = share_list[x]
for y in range(x+1, len(share_list)):
profit = share_list[y] - value
if profit > max_profit:
max_profit = profit
Это в основном то, как я вычислял максимальную прибыль, в операторе if мне просто нужно сохранить позицию последнего произошедшего 'max_proft = profit', но я не буду этого делать здесь.
Так есть ли способ сделать подобное, используя только словари?