Я бы предложил использовать класс, который позволит вам легко определить, находится ли время в предопределенном диапазоне, а затем поместить экземпляры этого класса в словарь, чтобы записывать время каждого дня «плохо». Возможно, используйте несколько предопределенных диапазонов для удобства и простоты последующего изменения.
class hmrange(object):
def __init__(self, start, end):
self.start, self.end = start, end
def __contains__(self, hm):
return self.start <= hm < self.end
alldayhours = hmrange(0000, 2400)
weekdayhours = hmrange(1630, 2000)
badhours = {
'Sun': hmrange(0000, 2000)
'Mon': weekdayhours
'Tue': weekdayhours
'Wed': weekdayhours
'Thu': weekdayhours
'Fri': hmrange(1630, 2400)
'Sat': alldayhours
}
badtime = hourmin in badhours[weekday]