微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章

问题描述

用文字描述要解决的问题是什么。

示例:输入今天的年份月份日,判断这一天是这一年的第几天

输入:今天的年月日

输出:这是今年的第几天

解决方案

首先要判断是否为闰年,如果是闰年并且输入的月份大于等于三时,天数需要多加一天。然后加上每个月份的天数和这个月已经过去的天数。

代码清单 1 DFS求解1到100求和问题Python代码


def is_a_leap_year(year):

    if year % 100 != 0 and year % 4  == 0:

        return True

    if year % 100 == 0 and year %  400 ==0:

        return True

    return False


def which_day(date):

    time_str =  date.split("-")

    leap_year =  is_a_leap_year(int(time_str[0]))

    if leap_year:

        day_list =  [0,31,29,31,30,31,30,31,31,30,31,30,31]

    else:

        day_list =  [0,31,28,31,30,31,30,31,31,30,31,30,31]

    day = 0

    for i in  range(0,int(time_str[1])):

        day+= day_list[i]

    print("这是{}年的第{}天".format(time_str[0],  day + int(time_str[2])))


if __name__ == "__main__":

    which_day(input("请输入年月日格式为2002-1-1/n"))




代码测试:

Python|今天是今年的的第几天问题解决方法_python

结语

本文解决的问题是“今天是今年第几天的问题”,运用python代码可以计算出今年是第几天,非常简便。

实习编辑:衡辉

作者:段生涛、张凯、李顺