MONTHLEN = [ 0, # No month zero
31, # 1. January
28, # 2. February (ignoring leap years)
31, # 3. March
30, # 4. April
31, # 5. May
30, # 6. June
31, # 7. July
31, # 8. August
30, # 9. September
31, #10. October
30, #11. November
31, #12. December
]
def count_normal_year(year, start_month, start_date, end_month, end_date):
day_count=0
if start_month == end_month and start_date==end_date:
print(0)
else:
day_count+=(MONTHLEN[start_month]-start_date)
next_start_month_index=start_month + 1
for months in range(MONTHLEN[next_start_month_index, MONTHLEN[end_month]):
day_count+=MONTHLEN[months]
day_count +=end_date
print(day_count)
我不允许使用日期库。
我对这个循环的想法是减去开始月份剩余的天数,然后从下一个开始月份的MONTHLEN索引开始到月末循环MONTHLEN。
IE 1 2 12 1 它将给出29然后从2月开始并将所有月份的总天数添加到12月(但不包括12月)然后添加结束日期 所以28 +31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30用于添加月份中的总天数以便将我带到12月然后添加结束日期1
我不确定编码我的想法的正确语法