【发布时间】:2020-07-10 08:03:52
【问题描述】:
我正在尝试在 tkinter 中执行函数,因为我希望函数在后台运行我已经完成了以下代码。我也试图在一个while循环中执行它,但它没有循环。
t1 = dt.time(hour = 13, minute= 24)
t2 = dt.time(hour= 13, minute= 4)
timetable = [t1, t2]
root = Tk()
def Alarm():
current_time = now_time.strftime("%H:%M:%S")
print(current_time)
print(timetable[0])
while True:
if timetable[0] <= dt.datetime.now().time():
print("Its time")
break
Alarm()
root.mainloop()
打印语句仅用于测试。我在闹钟中使用的逻辑也没有正确执行,因为即使时间过去了,它也会告诉“它的时间”。我之前尝试过以下方法。
方法一:
for i in reversed(timetable):
i_time = i
#print (i_time)
#print(now_time.strftime("%H:%M"))
while True:
if dt.datetime.now().time() < i_time:
#if i_time <= dt.datetime.now().time():
print("Its Time")
break
方法二:
for i in timetable:
current_time = dt.datetime.now().time()
alarm_time = i
while True:
if current_time < alarm_time:
if current_time <= alarm_time:
print("its time", alarm_time)
使用 for 循环是我的第一个目标,但 for 循环没有正确执行。它只获得第一个元素并且即使第一个元素已经通过也不会进入第二个元素所以我决定使用 if,elif,else 语句
【问题讨论】:
标签: python list if-statement tkinter