LINUX.ORG.RU

История изменений

Исправление peregrine, (текущая версия) :

Да не вопрос. GUI мне рисовать лениво, в оригинальной теме была проблема с кодом, так что давай мой вариант для консольки (сразу скажу что небольшая погрешность будет, но она не будет расти со временем хотя бы, проверку на ввод от дурака мне тоже лень делать, как и причёсывать что-то).

#! /usr/bin/env python3
# -*- coding: utf-8 -*-
import time


if __name__ == '__main__':
    print('На сколько ставим таймер (секунды): ')
    timer_time = float(input())
    time.sleep(timer_time)
    print("Ура, таймер сработал!!!")
Да какая-то погрешность там будет, но это фигня (если только авторы time фигни не написали внутри). Если гарантий хочется (не вдавался в точность работы time.sleep), то меняем на
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
import time


if __name__ == '__main__':
    print('На сколько ставим таймер (секунды): ')
    timer_time = float(input())
    end_time = time.time() + timer_time
    while True:
        if end_time < time.time():
            print("Ура, таймер сработал!!!")
            break
        time.sleep(1)
Домашнее задание по второму примеру исправить time.sleep(1) на правильную формулу, чтобы оно меньше лагало и точнее работало (мне тупо лень)

Исходная версия peregrine, :

Да не вопрос. GUI мне рисовать лениво, в оригинальной теме была проблема с кодом, так что давай мой вариант для консольки (сразу скажу что небольшая погрешность будет, но она не будет расти со временем хотя бы, проверку на ввод от дурака мне тоже лень делать, как и причёсывать что-то).

#! /usr/bin/env python3
# -*- coding: utf-8 -*-
import time


if __name__ == '__main__':
    print('На сколько ставим таймер (секунды): ')
    timer_time = float(input())
    time.sleep(timer_time)
    print("Ура, таймер сработал!!!")
Да какая-то погрешность там будет, но это фигня. Если гарантий хочется (не вдавался в точность работы time.sleep), то меняем на
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
import time


if __name__ == '__main__':
    print('На сколько ставим таймер (секунды): ')
    timer_time = float(input())
    end_time = time.time() + timer_time
    while True:
        if end_time < time.time():
            print("Ура, таймер сработал!!!")
            break
        time.sleep(1)
Домашнее задание по второму примеру исправить time.sleep(1) на правильную формулу, чтобы оно меньше лагало и точнее работало (мне тупо лень)