题目3:计算指定的年月日是这一年的第几天。给定三个日期:1980-11-282020-1-12021-5-1计算该年的多少天并保存到L3中。写出上述python代码
def calculate_day(year, month, day):
# 判断是否为闰年
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
leap_year = True
else:
leap_year = False
# 定义每个月的天数
month_days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# 如果是闰年,将二月的天数改为29天
if leap_year:
month_days[1] = 29
# 计算天数
day_count = 0
for i in range(month - 1):
day_count += month_days[i]
day_count += day
return day_count
# 测试样例
dates = [('1980-11-28', 'L3'), ('2020-1-1', 'L3'), ('2021-5-1', 'L3')]
for date, var_name in dates:
year, month, day = map(int, date.split('-'))
locals()[var_name] = calculate_day(year, month, day)
print(f"The number of days in {year} is {locals()[var_name]}")
运行结果:
The number of days in 1980 is 333
The number of days in 2020 is 1
The number of days in 2021 is 121
解释:以上代码定义了一个calculate_day函数,用于计算给定日期是该年的第几天。在主程序中,我们给定了三个日期,并将计算结果保存到变量L3中。最后,打印出每个日期所在年份的天数
原文地址: https://www.cveoy.top/t/topic/iBcY 著作权归作者所有。请勿转载和采集!