当前位置:首页python > 正文

python题目:输入某年某月某日,判断这一天是这一年的第几天?

作者:野牛程序员:2024-11-05 23:35:24python阅读 2368
python题目:输入某年某月某日,判断这一天是这一年的第几天?

python题目:输入某年某月某日,判断这一天是这一年的第几天?

要解决这个问题,可以通过以下步骤来计算输入日期是该年中的第几天:

  1. 判断是否为闰年:根据输入的年份,首先需要判断该年份是否为闰年,因为闰年2月有29天,而非闰年则是28天。

  2. 计算日期是第几天:可以通过累加每个月的天数,直到输入的日期为止,得到这一年的第几天。

规则:

  1. 闰年判定

    • 如果年份能被4整除且不能被100整除,或者能被400整除,那么该年是闰年。

    • 闰年2月有29天,非闰年2月有28天。

  2. 每个月的天数

    • 普通年份:[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} 天。")

解释:

  1. is_leap_year(year):该函数用于判断某一年是否为闰年。闰年的判定标准通过逻辑判断来实现。

  2. day_of_year(year, month, day):该函数通过累加给定日期之前的每个月的天数,然后加上当前月份的日期,得到输入日期是这一年的第几天。

  3. 输入和输出:用户输入年份、月份和日期,然后程序会输出该日期是这一年的第几天。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • python
  • 最新推荐

    热门点击