Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 29, 2023 02:32:21

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

отсчет времени

  
import time 
def timenows():
    while True:
        z = 0
        a = 0
        b = 0
        c = 0
        d = 0
        mssec = 999 + 999*60 + 999*3600 + 999*216000
        for i in range(mssec):
           # time.sleep(0.01)
            a += 1
            #print('Прошло',a ,'Секунд',b,'минут', c, 'часов')
            print(d, 'fms:', z, 'hr |', c, 'min |', b,' sec |',a ,'ms' )
            if z / 60 ==1:
                z +=1
            if a / 60 == 1:
                b += 1
                a = 0
            if b / 60 == 1:
                c += 1
                b = 0
                d += 1
            if c / 60 == 1:
                d += 1
            d += 1
            #timek = d + ' fms: ' + z + ' hr | ' + c + ' min | ' + b + ' sec | ' + a + ' ms' 
            #return timek
timenows()
ой что то я запутался
61 минуту пишет а должен сбросить
и часы не считает

Офлайн

#2 Янв. 29, 2023 02:37:35

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

отсчет времени

  
import time 
def timenows():
    while True:
        z = 0
        a = 0
        b = 0
        c = 0
        d = 0
        mssec = 999 + 999*60 + 999*3600 + 999*216000
        for i in range(mssec):
           # time.sleep(0.01)
            a += 1
            #print('Прошло',a ,'Секунд',b,'минут', c, 'часов')
            print(d, 'fms:', z, 'hr |', c, 'min |', b,' sec |',a ,'ms' )
            if z / 60 ==1:
                z +=1
            if a / 60 == 1:
                b += 1
                a = 0
            if b / 60 == 1:
                c += 1
                b = 0
                d += 1
            if c / 60 == 1:
                z +=1
                c = 0
                d += 1
            d += 1
            #timek = d + ' fms: ' + z + ' hr | ' + c + ' min | ' + b + ' sec | ' + a + ' ms' 
            #return timek
timenows()
готово!
# time.sleep(0.01) - режим реального времени
440908 fms: 2 hr | 2 min | 26 sec | 25 ms
440909 fms: 2 hr | 2 min | 26 sec | 26 ms
440910 fms: 2 hr | 2 min | 26 sec | 27 ms
440911 fms: 2 hr | 2 min | 26 sec | 28 ms
440912 fms: 2 hr | 2 min | 26 sec | 29 ms
440913 fms: 2 hr | 2 min | 26 sec | 30 ms
OK. спасибо за подсказочки

Офлайн

#3 Янв. 29, 2023 02:51:01

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

отсчет времени

за 4 минуты убежало вперед на 12 секунд
мне такое не подходит
возвращаюсь к первичному варианту c datatime
цыклы тут неработают
или я где то в коде ошибаюсь?

Отредактировано Genabox (Янв. 29, 2023 02:56:12)

Офлайн

#4 Янв. 29, 2023 03:16:28

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

отсчет времени

 from datetime import time
import datetime
time(hour=12, minute=34, second=56, microsecond=123456).isoformat(timespec='minutes')
'12:34'
dt = time(hour=0, minute=0, second=0, microsecond=0)
dt.isoformat(timespec='microseconds')
dt.isoformat(timespec='auto')
print(dt)
это както можно запустить? и желательно с микросикундами

Отредактировано Genabox (Янв. 29, 2023 03:17:29)

Офлайн

#5 Янв. 29, 2023 04:23:49

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9731
Репутация: +  843  -
Профиль   Отправить e-mail  

отсчет времени

Ты напиши функцию, которая принимает строку “00:00:00”, а возвращает строку “00:00:01”.
Вот начало функции

  
def increment_time(timestr):
    pass



Офлайн

#6 Янв. 29, 2023 08:52:21

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

отсчет времени

да я так и думал читать время и добовлять по 1 секунде

 from threading import Timer
import datetime as dt
from datetime import datetime
x=2
now = datetime.now()
_now = now - now 
def timenows():
    global _now
    if x==1:
        now = datetime.now() # current date and time
        texttime = now.strftime("%H:%M:%S")
        timer = Timer(1, timenows)
        timer.start()
        print(texttime)
        return texttime
    else:
        if x==2:
            _in_1_sec = _now + dt.timedelta(seconds=1)
            _now = _in_1_sec 
            timer = Timer(1, timenows)
            timer.start()
            print(_in_1_sec)
            return _in_1_sec
timenows()
вот это точто я изначально и планировал время 12 ночи и начать отсчет,,,
вроде работает 0:01:08
подождем часик…

Отредактировано Genabox (Янв. 29, 2023 09:35:33)

Офлайн

#7 Янв. 29, 2023 10:36:18

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

отсчет времени

мда все работает
1:01:39
1:01:40
1:01:41
1:01:42
1:01:43
1:01:44
1:01:45
1:01:46
1:01:47
1:01:48
1:01:49
1:01:50
1:01:51
1:01:52
вот мой финальный кодик

 from threading import Timer
import datetime as dt
from datetime import datetime
x=2
now = datetime.now()
_now = now - now 
def timenows():
    global _now
    if x==1:
        now = datetime.now() # current date and time
        texttime = now.strftime("%H:%M:%S")
        timer = Timer(1, timenows)
        timer.start()
        print(texttime)
        return texttime
    else:
        if x==2:
            _in_1_sec = _now + dt.timedelta(seconds=1)
            _now = _in_1_sec 
            timer = Timer(1, timenows)
            timer.start()
            print(_in_1_sec)
            return _in_1_sec
timenows()

Отредактировано Genabox (Янв. 29, 2023 10:36:39)

Офлайн

#8 Янв. 29, 2023 10:43:22

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9731
Репутация: +  843  -
Профиль   Отправить e-mail  

отсчет времени

Genabox
да я так и думал читать время и добовлять по 1 секунде
Я тебе говорю функцию напиши. Это всё не просто так. Напишешь - я тебе скажу дальше, что с ней делать.



Офлайн

#9 Янв. 29, 2023 10:50:35

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

отсчет времени

сори я свою задачу решил - код работает
у меня работы валом дальше бежать нужно

Офлайн

#10 Янв. 29, 2023 11:40:23

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9731
Репутация: +  843  -
Профиль   Отправить e-mail  

отсчет времени

Genabox
сори я свою задачу решил - код работает
Ну, не знаю, это выглядит очень ужасно.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version