用python 编写函数,传入任意一个日期的年、月、日三个数据,输出此日期是该年的第几天? 注意:闰年的 2 月是 28 天,非闰年的 2 月是 29 天,要首先判断该年是否是闰年。
时间: 2024-05-02 20:20:53 浏览: 72
以下是Python代码:
```python
def is_leap_year(year):
return year % 4 == 0 and year % 100 != 0 or year % 400 == 0
def day_of_year(year, month, day):
days_in_month = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if is_leap_year(year):
days_in_month[2] = 29
total_days = sum(days_in_month[:month]) + day
return total_days
print(day_of_year(2021, 4, 9)) # 输出 99
```
首先定义了一个判断闰年的函数 `is_leap_year(year)`,如果是闰年返回 `True`,否则返回 `False`。
然后定义了一个计算天数的函数 `day_of_year(year, month, day)`,首先根据年份判断二月的天数,然后使用 `sum` 函数计算到本月之前所有月份的天数之和,再加上本月的天数即可得到这一天是该年的第几天。
最后测试了一下,输出了 2021 年 4 月 9 日是该年的第 99 天。
阅读全文