我正在制定一个程序来确定你在学校的哪个阶段;时间表在某些日子有所不同,因此您可以运行该程序,而不是找出您所处的日程安排。
我正在使用' DateTime'进口;但问题是某些课程可能从7:45开始到9:50结束。我编程两次的方式相互矛盾,因此文本不会显示出来。
这里是代码片段:
if sch == "A":
if hour >= 7 and min >= 45:
if hour <= 9 and min <= 50:
print("It is period 1; Class ends at 9:50AM")
之前在节目中确定我们按时完成了“A&#39;上午7:45开始,上午9:50结束。简而言之,我希望它在这两次之间显示消息。
答案 0 :(得分:0)
使用datetime执行此任务:
from datetime import datetime
begin = '07:45:00'
end = '09:50:00' # for example
current_time = '10:32:13'
FMT = '%H:%M:%S' # format time
if sch == "A":
if datetime.strptime(begin, FMT) < \
datetime.strptime(current_time, FMT) < \
datetime.strptime(end, FMT):
print("It is period 1; Class ends at 9:50AM")
答案 1 :(得分:0)
由于我评论你的逻辑是关闭的,因为除了45-50范围内的任何东西之外你不允许分钟数,你正在使用日期时间,所以坚持比较datetimes.time's看小时和分钟是否在范围7:45-9:50
。
from datetime import time
# cretate a start and end time
start, end = time(7, 45, 0), time(9, 50, 0)
# pass whatever hour and min are in your code to time
hour_min = time(7, 46)
# check the times falls in the range 7:45-9:50
if start <= hour_min <= end:
print("It is period 1; Class ends at 9:50AM")
答案 2 :(得分:0)
你可以试试这个:
from datetime import time
if sch == "A":
if time(hour=7, minute=45) <= time(hour=hour, minute=minute) <= time(hour=9, minute=45):
print("It is period 1; Class ends at 9:50AM")