def time_to(text):
datex = re.match(r'.*(\d{2})[.-:](\d{2})', text)
имя min вообще-то зарезервированае.
import time # Для работы с временем
import re # Для работы с регулярными выражениями
import threading # Модуль для работы с потоками
def thread(my_func):
def wrapper(*args, **kwargs):
my_thread = threading.Thread(target=my_func, args=args, kwargs=kwargs)
my_thread.start()
return wrapper
@thread
def Alarm(t):
time.sleep(t)
print("Проснись!!!")
def time_to(text):
datex = re.match(r'(\d{2})[.-:](\d{2})', text)
if datex:
hour = int(datex[1])
min = int(datex[2])
# Чтобы получить текущий год, месяц, день...
t = time.localtime()
return time.mktime((t[0], t[1], t[2], hour, min, 0, t[6], t[7], t[8]))
z = input("> ")
if 'поставь' in z and 'будильник' in z or 'установи' in z and 'будильник' in z or 'будильник' in z and 'на' in z:
alarm_time = time_to(z)
# Текущее время в секундах с полуночи 1 января 1970 года (unix время)
current_time = time.time()
if alarm_time > current_time:
# Вычислить время до будильника, в секундах
delta = alarm_time - current_time
Alarm(delta)
print("Будильник установлен!")