Как поставить условие на время?
Если я поставлю условие на текущее время, то программа сработает, а если поставить условие на время, которое нужно подождать, то программа входит в бесконечное ожидание. Почему?
import time
now = time.localtime()
hour = int(input("Укажите час.\nВвод: "))
minute = int(input("Укажите минуту.\nВвод: "))
while True:
if now.tm_hour == hour and now.tm_min == minute:
print("Hello World!")
break
Ответы (1 шт):
Автор решения: icYFTL
→ Ссылка
Переменная now задана один раз и тем самым вы сверяете одно и то же бесконечно.
import time
hour = int(input("Укажите час.\nВвод: "))
minute = int(input("Укажите минуту.\nВвод: "))
while True:
now = time.localtime()
if now.tm_hour == hour and now.tm_min == minute:
print("Hello World!")
break
Однако, лучше заместо time.localtime использовать datetime.now:
from datetime import datetime
hour = int(input("Укажите час.\nВвод: "))
minute = int(input("Укажите минуту.\nВвод: "))
while True:
dt = datetime.now()
if dt.hour == hour and dt.minute == minute:
print("Hello World!")
break