with open('input.json', 'rt') as src:
raise ValueError(src.read())
with open('input.json', 'rt') as src:
data = json.load(src)
raise ValueError(repr(type(data))) # вернёт скорее всего <type 'list'>. Закомментируешь эту строку и делаешь:
raise ValueError(repr(data[0])) # ну и так далее пока не поймешь, что за структуру данных тебе подсовывают.
equity_result1 = [ ... ] # твои данные - значения эквити во времени
# определяем индексы таких элементов, которые больше своих соседей слева и справа.
local_max_idx = [ i for i in range(1, len(equity_result1) - 1) if equity_result1[i-1] < equity_result1[i] and equity_result1[i+1] < equity_result1[i] ]
# определяем минимумы для интервалов, следующих за соотв. локальным максимумом
local_min = [ min(equity_result1[i+1:]) for i in local_max_idx ]
# определяем индексы этих минимумов в списке equity_result1
local_min_idx = [ i+1+equity_result1[i+1:].index(minval) for i, minval in zip(local_max_idx, local_min) ]
# собираем сведения о "перепадах" в один список пар индексов (максимум, минимум)
differences = list(zip(local_max_idx, local_min_idx))
# ищем наибольший "перепад" по критерию "разность между значением максимума и минимума"
i_max, i_min = max(differences, key = lambda item: equity_result1[item[0]] - equity_result1[item[1]])
# интересующий тебя интервал - между i_max и i_min включительно
>>> a = -100
>>> b = -100
>>> a is b
False
>>> a = 100
>>> b = 100
>>> a is b
True
field = [ ['_'] * 3, ['_'] * 3, ['_'] * 3 ]
for i in len(field): # перебираем элементы поля
values = { field[i][c] for c in len(field[i]) } # собираем символы i-й строки в _множество_
if len(values) == 1 and '_' not in values: # есть строка из одинаковых символов, но не из "_"
return field[i][0] # возвращаем символ-победитель
values = { field[r][i] for r in len(field) } # собираем символы i-го столбца
if len(values) == 1 and '_' not in values: # есть столбец из одинаковых символов, но не из "_"
return field[0][i] # возвращаем символ-победитель
image[Y:Y+H, X:X+W] = new_content
area = matrix_new[100:200, 100:200] # это делает ссылку на область массива, а не копию области!
area[area == 250] = 255 # так что когда мы изменяем эту область, оригинал изменится.
downtime_border1 = '' # строка!
downtime_border2 = '' # строка!
# Присваивание значения 1 границе
downtime_border1 = string.find('дн', time_border2)-2
# 2 границе
downtime_border2 = string.rfind('.', downtime_border1)