7、 编写函数,传入任意一个日期的年、月、日三个数据,输出此日期是该年的第几天?注意:闰年的 2 月是 28 天,非闰年的 2 月是 29 天,要首先判断该年是否是闰年。
时间: 2024-05-19 07:11:15 浏览: 137
输入某年某月某日,判断这一天是这一年的第几天?
def is_leap(year):
"""
判断是否是闰年,是返回True,否则返回False
"""
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
return True
else:
return False
def day_of_year(year, month, day):
"""
输入年月日,输出是该年的第几天
"""
days_of_month = [0,31,28,31,30,31,30,31,31,30,31,30,31] #每个月的天数
if is_leap(year): # 如果是闰年,2月份有29天
days_of_month[2] = 29
days = sum(days_of_month[:month]) + day # 计算前几个月的天数和当月的天数
return days
# 测试
print(day_of_year(2021,1,1)) # 1
print(day_of_year(2021,12,31)) # 365
print(day_of_year(2020,12,31)) # 366 (闰年)
阅读全文