Как сделать утверждение if истинным, даже если оно только частично совпадает? - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь сделать часы, которые останавливаются в определенное время.Я нахожусь на Windows 10, и я использую Python 3.7.1, код работает следующим образом:

import time as t
import datetime as dt
import os

tc = input("When do you want this to stop? (military time please) ")
exit = False
date = str(dt.datetime.now().date())


while (exit == False):
    if dt.datetime.now() == date + " " + tc + ":00.0000":
        exit = True
    else:
        print(dt.datetime.now())
        t.sleep(0.01)
        os.system('cls')

Проблема в том, что время никогда точно не достигает идеального места для частей меньше секунды, так как жеЯ заставлю это остановиться?

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Вы можете проверить, прошло ли время, что-то вроде

if dt.datetime.now() >= date + " " + tc + ":00.0000":

Возможно, вам придется поиграться с доступными методами, чтобы заставить его работать, я не знаю, есть ли встроенныйкомпаратор в этой библиотеке.Но что-то в этом роде просто проверяет, прошло ли текущее время желаемое время.

0 голосов
/ 20 ноября 2018

Вы имеете в виду, как это?

if dt.datetime.now() >= date + " " + tc + ":00.0000"

также, пожалуйста, отформатируйте datetime.now () в строку, которую вы хотите, используя что-то вроде datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...