python题目:输入某年某月某日,判断这一天是这一年的第几天?
作者:野牛程序员:2024-11-05 23:35:24python阅读 2368
python题目:输入某年某月某日,判断这一天是这一年的第几天?
python题目:输入某年某月某日,判断这一天是这一年的第几天?
要解决这个问题,可以通过以下步骤来计算输入日期是该年中的第几天:
判断是否为闰年:根据输入的年份,首先需要判断该年份是否为闰年,因为闰年2月有29天,而非闰年则是28天。
计算日期是第几天:可以通过累加每个月的天数,直到输入的日期为止,得到这一年的第几天。
规则:
闰年判定:
如果年份能被4整除且不能被100整除,或者能被400整除,那么该年是闰年。
闰年2月有29天,非闰年2月有28天。
每个月的天数:
普通年份:
[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
闰年:
[31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
代码实现:
def is_leap_year(year): # 判断是否为闰年 if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): return True return False def day_of_year(year, month, day): # 闰年和非闰年每月的天数 months_days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 如果是闰年,2月改为29天 if is_leap_year(year): months_days[1] = 29 # 计算当前日期是第几天 days_count = sum(months_days[:month-1]) + day return days_count # 输入某年某月某日 year = int(input("请输入年份: ")) month = int(input("请输入月份: ")) day = int(input("请输入日期: ")) # 计算并输出该日期是这一年的第几天 result = day_of_year(year, month, day) print(f"{year}年{month}月{day}日是这一年的第 {result} 天。")
解释:
is_leap_year(year)
:该函数用于判断某一年是否为闰年。闰年的判定标准通过逻辑判断来实现。day_of_year(year, month, day)
:该函数通过累加给定日期之前的每个月的天数,然后加上当前月份的日期,得到输入日期是这一年的第几天。输入和输出:用户输入年份、月份和日期,然后程序会输出该日期是这一年的第几天。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
