print('import datetime import tkinter as tk # hard-coded table of events events = [ {"time": datetime.time(8, 45), "label": "начала урока"}, {"time": datetime.time(9, 25), "label": "конца урока"}, {"time": datetime.time(9, 35), "label": "начала урока"}, {"time": datetime.time(10, 15), "label": "конца урока"}, {"time": datetime.time(10, 25), "label": "начала урока"}, {"time": datetime.time(11, 5), "label": "конца урока"}, {"time": datetime.time(11, 25), "label": "начала урока"}, {"time": datetime.time(12, 5), "label": "конца урока"}, {"time": datetime.time(12, 15), "label": "начала урока"}, {"time": datetime.time(12, 55), "label": "конца урока"}, {"time": datetime.time(13, 5), "label": "начала урока"}, {"time": datetime.time(13, 50), "label": "конца урока"} ] def get_next_event(): now = datetime.datetime.now().time() for event in events: if event["time"] > now: return event # if no upcoming events found, return the first event of the next day return events[0] def update_label(): next_event = get_next_event() now = datetime.datetime.now() event_time = datetime.datetime.combine(now, next_event["time"]) delta = event_time - now hours, remainder = divmod(delta.seconds, 3600) minutes, seconds = divmod(remainder, 60) event_label.config(text=f'{hours:02d}:{minutes:02d}:{seconds:02d} до {next_event["label"]}\nСледуйщее событие в {next_event["time"].strftime("%H:%M:%S")}') root.after(1000, update_label) # schedule the function to be called again in 1 second root = tk.Tk() root.geometry("400x200") root.title("Конец урока") event_label = tk.Label(root, text="") event_label.pack() update_label() root.mainloop()') |