【发布时间】:2018-12-04 11:59:00
【问题描述】:
场景:我正在尝试构建一个日期检查功能。该函数的输入是:年、月和假期列表(只是天的列表)。该函数将检查 input_date 是否在假期列表中,如果是,则将一天与 input_date 相加。接下来它将检查是哪个工作日:如果是星期六(总和 2),如果是星期日(总和 1)。
问题:我的问题是,如果我只是创建几个 if 子句来检查这些条件,周末检查后的新日期也可能在假期列表中,所以该过程应该重复,直到找到不在假期列表中的工作日。
问题:有没有办法将这些检查包含在一个循环中?
到目前为止的代码:
def datecheck (input_year, input_month, holiday_list):
datetime.inputdate = date(year, month, 1)
# this checks if inputdate is a holiday
if inputdate is in holiday_list:
inputdate == inputdate + datetime.timedelta(days=1)
# next part guarantees inputdate is a weekday
if inputdate.weekday() == 5:
inputdate == inputdate + datetime.timedelta(days=2)
else if inputdate.weekday() == 6:
inputdate == inputdate + datetime.timedelta(days=1)
#check again for holiday?
outputdate = inputdate
return outputdate
【问题讨论】:
标签: python loops date datetime calendar