#python #list #if-statement
Вопрос:
У меня есть три списка —
High: [18365.5, 18979.25, 19297.4, 19874.8, 20288.0, 20504.65, 20398.2] Low: [17855.5, 18265.0, 18822.55, 18742.15, 19492.55, 20055.55, 20131.25] Close: [18317.05, 18969.95, 18857.6, 19804.0, 20260.15, 20285.0, 20215.7]
И я хочу проверить
if Close [index1] gt; Low [index0] print("XYZ") elif Close[index1] lt; High[index0] print("XYZ")
и то же самое можно сказать и об остальных индексах, находящихся на закрытии.
if Close [index2] gt; Low [index1] print("XYZ") elif Close[index2] lt; High[index1] print("XYZ")
Пожалуйста, помогите мне решить эту проблему. Я не понимаю, как я могу это сделать.
Комментарии:
1. Не могли бы вы немного подробнее рассказать, чего вы здесь пытаетесь достичь, и что
index0
,index1
, иindex2
есть?2. индекс 0, индекс 1, индекс 3-это просто индекс в списке.
3. Хорошо, так в чем же цель вашего кода? Поскольку в настоящее время все ваши
if-else
дела распечатаныXYZ
, каков ожидаемый результат вашего кода?4. Я хочу проверить, закрыто ли gt; Низко, затем напечатать(«S»), и если Закрыть gt;
5. Ладно, круто. В настоящее время ваш код, похоже, делает именно это. С какой проблемой вы столкнулись? Вы не получаете ожидаемого результата или появилось какое-то сообщение об ошибке?
Ответ №1:
Решение, как вы просили.
Правильным решением было бы проверить один и тот же индекс для всего списка, учитывая его фондовый рынок.
high = [18365.5, 18979.25, 19297.4, 19874.8, 20288.0, 20504.65, 20398.2] low = [17855.5, 18265.0, 18822.55, 18742.15, 19492.55, 20055.55, 20131.25] close = [18317.05, 18969.95, 18857.6, 19804.0, 20260.15, 20285.0, 20215.7] for i in range(len(high)-1): if (close[i 1] gt; low[i]) and (close[i 1] lt; high[i]): print("Valid Indices") else: print("Invalid: Correct Sequence: Low lt; Close lt; High")
Предложение: Низкий =lt; Закрыть =
Ответ №2:
Вы можете zip
выбрать три списка и повторить их. Убедитесь Close
, что вы правильно нарезали, чтобы оценить правильные элементы:
for (high, low, close) in zip(High, Low, Close[1:]): if close gt; low: print("S") elif close lt; high: print("L") else: continue