Как предотвратить остановку цикла for? - PullRequest
1 голос
/ 27 марта 2019

В моем цикле for, когда операторы if оба имеют значение true, они выполняют то, что должны, а затем просто заканчивают и не продолжают весь цикл.Я пытался использовать оператор continue после того, как счетчики покупали и продавали.Это работало при хранении сумм переменных, но затем я получил ошибку в возвращаемой переменной, которая говорит об объекте NoneType встроенного модуля.

Если я опускаю оператор continue, он просто сохраняет первую цену, соответствующую оператору if, но ломается и перестает суммировать другие цены, соответствующие этим операторам.

Я знаюпроблема в том, что после добавления счетчиков он прерывается из цикла for, может быть, возвращаемый результат имеет плохой отступ?а другой - цена закрытия.Я хочу, чтобы функция проверяла, больше ли объем сегодняшнего дня, чем вчерашний, и если это так, то она вводит другой оператор if, спрашивая, является ли цена закрытия сегодняшнего дня большей, чем цена вчерашнего дня.Если это также верно, то он сохраняет и суммирует цены тех дней в переменной «buy», а суммирует цены дня после [i + 1] в переменной «sell».В конце он возвращает разницу между этими двумя.

Ответы [ 2 ]

0 голосов
/ 27 марта 2019
buy = 0
sell = 0
def checking(x,y):
    for i in range (17):
        if x[i]>x[i-1]:
            if y[i] >y[i-1]:
                global buy, sell
                buy += y[i]
                try:
                    sell +=y[i+1]
                except:
                    sell +=y[i]


    return sell-buy

gains = checking(volume,close)
0 голосов
/ 27 марта 2019

Вы правы, отступ оператора return был неверным.Вот фиксированный код:

buy = 0
sell = 0
def checking(x,y):
    for i in range (17):
        if x[i]>x[i-1]:
            if y[i] >y[i-1]:
                global buy, sell
                buy += y[i]
                try:
                    sell +=y[i+1]
                except:
                    sell +=y[i]

    return sell-buy

gains = checking(volume,close)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...