使用python编写一段程序,程序要求:“输入一个日期,例如‘’20221001‘,输出该日期对应的节假日(也可能是周六或周末),如果不是节日就输出工作日’”。
时间: 2024-09-13 22:08:10 浏览: 57
要实现这样一个程序,首先需要一个关于日期与节假日的对照数据源。在真实场景中,我们可以通过查询国家法定节假日的API来获取节假日信息,或者直接在代码中硬编码节假日的数据。以下是一个简化的示例代码,它不包含完整的节假日数据,仅作为一个基本的演示:
```python
import datetime
# 假设的节假日数据,实际应用中需要更新为完整的节假日信息
holidays = {
'0101': '元旦节',
'0501': '劳动节',
'1001': '国庆节',
}
def get_weekday(date_str):
# 检查输入日期的有效性
try:
# 将字符串转换为日期对象
date = datetime.datetime.strptime(date_str, '%Y%m%d')
except ValueError:
return "输入的日期格式不正确,请使用YYYYMMDD格式。"
# 计算星期几
weekdays = {
0: '周一',
1: '周二',
2: '周三',
3: '周四',
4: '周五',
5: '周六',
6: '周日',
}
weekday = weekdays[date.weekday()]
# 根据日期判断是工作日、周末还是法定节假日
if date_str in holidays:
return f"{holidays[date_str]},该日期为法定节假日。"
elif weekday == '周六':
return "周末,该日期为周六。"
elif weekday == '周日':
return "周末,该日期为周日。"
else:
return "工作日,该日期为工作日。"
# 输入日期并调用函数
input_date = input("请输入一个日期(格式:YYYYMMDD):")
print(get_weekday(input_date))
```
这段代码提供了一个基础的逻辑,包括输入日期的验证、日期转换、判断节假日、工作日和周末。在实际应用中,您需要更新`holidays`字典,以包含所有需要考虑的节假日信息。
阅读全文