请你编写函数,根据所给年月日,计算出该日期是该年的第几天(注意考虑闰年),满足以下两种情况之一的为闰年:1.年份是四的倍数且不是一百的倍数。2.年份是四百的倍数。 【输入形式】 输入年月日,以空格隔开。 【输出形式】 输出“输入日期是当年的第n天"
时间: 2024-03-17 15:47:43 浏览: 61
给出年月日 计算该日 是该年的第几天
5星 · 资源好评率100%
好的,我可以为您编写这个函数。以下是 Python 代码:
```python
def days_of_year(year, month, day):
days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 每个月的天数
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0: # 判断是否是闰年
days_in_month[1] = 29 # 修改 2 月的天数为 29 天
days = sum(days_in_month[:month - 1]) + day # 计算该日期是该年的第几天
return f'输入日期是当年的第{days}天'
# 测试
print(days_of_year(2022, 1, 1)) # 输入日期是当年的第1天
print(days_of_year(2022, 12, 31)) # 输入日期是当年的第365天
print(days_of_year(2020, 3, 1)) # 输入日期是当年的第61天
print(days_of_year(2020, 12, 31)) # 输入日期是当年的第366天
```
注意,上面的代码假设输入的年月日都是合法的,没有做输入检查。如果需要的话,可以增加输入检查的代码。
阅读全文