Пока цикл ссылается на время - PullRequest
1 голос
/ 08 апреля 2019

У меня проблемы с обращением ко времени в цикле. На данный момент это мой код

def autoRoutine():
    now = datetime.datetime.now().time()
    autoStart = now.replace(hour=8, minute=0)

    stoptime = datetime.datetime.now().time()
    autoStop = stoptime.replace(hour=12, minute=4)

    while (now <= autoStop):

        print("the lights are starting")
        time.sleep (1.0)
        if (now > autoStop):
            break

    print(autoStart.strftime("%H:%M"))

Итак, я пытаюсь выполнить цикл while между временем автостарта и временем автостопа. Если это ПОСЛЕ автостопа, я хочу, чтобы цикл while был разорван. Если это помогает, это реализуется для легкой процедуры, в которой огни работают только с 8:00 (автозапуск) до 8:00 (автозапуск), но ради ожидания, чтобы увидеть, работает ли я, я настраиваю автостоп на одну минуту вперед текущего времени.

Я не могу оторваться от петли, и это сводит меня с ума, потому что это должно быть довольно просто. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

Вы должны использовать флаг:

flag = False
while flag = False:
    if condtion:
        flag = True

Также проверьте этот файл. Это вид Django, но он может помочь вам

0 голосов
/ 08 апреля 2019

Я решил собственную проблему, используя третью ссылку на время, чтобы перебрать цикл while

    while (keepprint == False):

        nowloop = datetime.datetime.now().time()
        print (nowloop)
        print (autoStop)

        print("the lights are starting")
        time.sleep (1.0)
        if (nowloop >= autoStop):
            keepprint = True

Таким образом, я могу отслеживать текущее время на каждой итерации.

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