美文网首页
一天是某年的第几天,python

一天是某年的第几天,python

作者: 乒乓猫 | 来源:发表于2017-03-07 22:24 被阅读0次

    由于刚刚学习Python,这几天编写了一个小小的代码,如果有什么有问题的地方,请大家多多指教。例题如下:

    输入某年某月某日,判断这一天是这一年的第几天。输入分三行,分别是年、月、日。输出一行,即该天是这一年的第几天。

    样例输入:

    2017

    1

    1

    样例输出:

    1

    这是我编写的代码:

    # -*- coding: utf-8 -*-

    def error():#确定报错函数

        print "Invalid input!"

        exit(0)

    def f(x):#判断闰年

        if x % 4 != 0:

            return 0

        else:

            if x % 100 != 0:

                return 1

            else:

                if x % 400 == 0:

                    return 1

                else:

                    return 0

    def get_days(m, y):#确定每一个月有几天

        days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

        days[1] += f(y)#对闰年和平年进行统一

        return days[m-1]

    def main():

        y = int(raw_input("year: "))

        if (y < 0):#报错

            error()

        m = int(raw_input("month: "))

        if (m >= 13) or (m <= 0):#报错

            error()

        d = int(raw_input("day: "))

        if (d <= 0) or (d > get_days(m, y)):#报错

            error()

        ans = 0

        l = 1

        while l < m:

            ans += get_days(l, y)#按月份累计天数

            l += 1

        ans += d#将本月的天数进行累加

        print ans

    if __name__ == '__main__':

        main()

    第一次在简书上分享自己的代码,如果有什么不对的地方或更好的解法,还请大家多多提出建议与意见,谢谢!

    相关文章

      网友评论

          本文标题:一天是某年的第几天,python

          本文链接:https://www.haomeiwen.com/subject/wcmegttx.html