Как добавить +1 к переменной за каждые прошедшие X минут таймера в коде - PullRequest
0 голосов
/ 06 мая 2020

У меня есть 3 переменные (ADG, DR, T C), которые я хочу подсчитывать за каждый раз, когда проходит 45 минут и 2,5 часа соответственно для каждой 3 переменной. У меня есть этот код для создания 24-часового таймера, и мне нужно добавить эти переменные (и их количество) в while when_to_stop> 0: l oop. Какие-нибудь рекомендации? Спасибо!

import time

while True:
    uin = input(">>")
    try:
        when_to_stop = abs(int(uin))
    except KeyboardInterrupt:
        break
    except:
        print("Not a number!")

    while when_to_stop > 0:
        m, s = divmod(when_to_stop, 60)
        h, m = divmod(m, 60)
        time_left = str(h).zfill(2) + ":" + str(m).zfill(2) + ":" + str(s).zfill(2)
        print(time_left + "\r", end="" )
        time.sleep(0.001)
        when_to_stop -= 1

        # ADG - Auto Droplet Generator (45 mins)
        # DR - Droplet Reader (time same as TC)
        # TC - Ther mal cycler  (2.5 hrs)

"""

1 Ответ

0 голосов
/ 06 мая 2020

Добавлен счетчик прошедших секунд.

Когда количество прошедших секунд делится без остатка на (45 * 60 секунд), прошло 45 минут, и переменная ADG увеличивается на единицу каждый раз, когда это происходит.

Когда количество прошедших секунд делится без остатка на (150 * 60 секунд), прошло 2,5 часа, а переменная T C увеличивается на единицу каждый раз, когда это происходит. Переменная DR действует так же ( время такое же, как T C), поэтому она имеет то же значение, что и переменная T C.

import time
elapsed = 0 
ADG = 0
DR = 0
TC = 0

while True:
    uin = input(">>")
    try:
        when_to_stop = abs(int(uin))
    except KeyboardInterrupt:
        break
    except:
        print("Not a number!")

    while when_to_stop > 0:
        m, s = divmod(when_to_stop, 60)
        h, m = divmod(m, 60)
        time_left = str(h).zfill(2) + ":" + str(m).zfill(2) + ":" + str(s).zfill(2)
        print(time_left + "\r", end="" )
        time.sleep(0.001)
        when_to_stop -= 1
        elapsed += 1

        #Auto Droplet Generator (45 mins)
        if (elapsed % (45*60) == 0):
            ADG += 1 
        # DR - Droplet Reader (time same as TC)
        if (elapsed % (150*60) == 0):
            DR += 1        
        # TC - Ther mal cycler  (2.5 hrs)
        if (elapsed % (150*60) == 0):
            TC += 1 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...