Форум сайта python.su
0
Хотел сделать простенький будильник, который по заданному времени открывает песню. Но в заданное время ничего не происходит и цикл не завершается. Вот код:
import datetime import os now = datetime.datetime.now() hours = int(input("Введите час ")) # Вводим час, в который должен включится будильник min1 = int(input("Введите минуты ")) # Вводим минуты x = 0 while x!= 1: # Цикл, который выполняется до тех пор, # пока полученные данные о времени # не совпадут с нашими данными о времени if int(now.hour) == hours and int(now.minute) == min1: #сравниваем наши данные # и полученные из системы os.startfile(r"C:\Users\Лёха\Desktop\Макс Корж - Мой друг.mp3") x = 1 else: x = 0
Офлайн
857
В каждой ветви if поставь print() и там выведи название ветви и все переменные - now, hours, min1, now.hour, now.minute. Так ты узнаешь, почему цикл неправильно работает.
Офлайн
253
неплохо еще time.sleep() поставить чтобы проц не грузить.
Для решения таких задач есть модуль
https://docs.python.org/3/library/sched.html
Офлайн
0
цикл работает
но переменной ‘now’ вы присвоили значение единожды в начале программы и потом она не меняется.
а надо обновлять.
Офлайн