Python 如果日期是假日,则将天添加到日期,直到日期没有假日为止

Python 如果日期是假日,则将天添加到日期,直到日期没有假日为止,python,date,Python,Date,如果日x是假日,则在日x中添加days,直到该日不是假日 def is_lastday_holiday(lastday): while lastday in sorted(holidays.AT(years=2017)): lastday + timedelta(days=1) return lastday 这将导致无限循环。有什么提示吗?您错过了上一天的分配和更新 def is_lastday_holiday(lastday): while lastday

如果日
x
是假日,则在日
x
中添加
days
,直到该日不是假日

def is_lastday_holiday(lastday):
   while lastday in sorted(holidays.AT(years=2017)):
      lastday + timedelta(days=1)
   return lastday

这将导致无限循环。有什么提示吗?

您错过了上一天的分配和更新

def is_lastday_holiday(lastday):  
    while lastday in sorted(holidays.AT(years=2017)):  
        lastday = lastday + timedelta(days=1) 
    return lastday
或者

lastday += timedelta(days=1)

您没有在循环中分配
lastday
。您想要
lastday+=timedelta(days=1)#注意+=,而不是+
名称“假日”没有定义
@ArcherGodson可能是在函数之前定义的。@coldspeed谢谢,这是正确的并且很有帮助的。