题目描述
输入一个8位数字的字符串表示年月日,如20200220,前4位表示年份,56位表示月份,7-8位表示日期。请编写代码对日期数据进行处理和分析。
闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。平年有365天,闰年有366天(2月中多一天),公历年份是400的倍数为国年,或年份是4的倍数且不是100的倍数的为闰年。
输入要求:输入一个8位长度的表示日期的数字字符串(题目确保输入的字符串只包含0-9的数字,且长度为8位)。
输出要求:输出当前月份共有多少天?
案例代码
def is_leap_year(year):
return year % 400 == 0 or (year % 4 == 0 and year % 100 != 0)
def get_days_in_month(year, month):
if month in [1, 3, 5, 7, 8, 10, 12]:
return 31
elif month == 2:
if is_leap_year(year):
return 29
else:
return 28
else:
return 30
date_str = input("请输入一个8位数字的日期(格式:YYYYMMDD):")
year = int(date_str[:4])
month = int(date_str[4:6])
days_in_month = get_days_in_month(year, month)
print(f"当前月份共有 {days_in_month} 天。")
这段代码中,is_leap_year
函数用于判断是否为闰年,根据输入的年份进行计算。get_days_in_month
函数根据给定的年份和月份,返回该月份的天数。
在主程序中,首先要求用户输入一个8位数字的日期字符串,然后提取年份和月份。接下来,调用get_days_in_month
函数获取该月份的天数,并将结果输出。
在线运行截图
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END