python习题:输入日期, 判断这一天是这一年的第几天?

Posted 七月的小尾巴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python习题:输入日期, 判断这一天是这一年的第几天?相关的知识,希望对你有一定的参考价值。

  • 输入日期, 判断这一天是这一年的第几天?
class GetDays:

    # 获取到用户输入的年份
    def __init__(self, data):

        # 根据‘-’符号分割,得到一个数组,如['2021', '6', '11']
        self.dates = data.split('-')
        self.years = int(self.dates[0])
        self.month = int(self.dates[1])
        self.days = int(self.dates[2])

    # 判断年份是否为闰年,是闰年则返回 True,否则返回 False
    def leap_year(self):
        if (self.years % 4) == 0:
            if (self.years % 100) == 0:
                if (self.years % 400) == 0:
                    # 整百年能被400整除的是闰年
                    return True
                else:
                    return False
            # 非整百年能被4整除的为闰年
            else:
                return True
        else:
            return False

    # 计算月份的天数
    def get_month(self):
        # 将每个月的月份有多长天定义一个字典
        month = {1: 31, 2: 28, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31}
        num = 0
        # for 循环遍历字典中的数据,将所有月份相加
        for key, value in month.items():
            # print(key, value)
            num += value
            # 如果输入的月份和字典中的月份相同,则不会在继续加天数
            if self.month == key:
                num -= value
                break

        # 判断如果是闰年,并且输入的月份大于2月,则天数+1
        if self.years is True and self.month > 2:
            return num+1
        return num

    # 计算天数
    def get_days(self):
        days = self.get_month() + self.days
        return days


print(GetDays('2000-2-11').get_days())

结果:
42

Process finished with exit code 0

以上是关于python习题:输入日期, 判断这一天是这一年的第几天?的主要内容,如果未能解决你的问题,请参考以下文章

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

Python练习代码——输入年月日,判断这一天是这一年的第几天?

Python输入某年某月某日,判断这一天是这一年的第几天?

Python输入某年某月某日,判断这一天是这一年的第几天?

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

编程输入某年某月某日(正确日期),判断这一天是这一年的第几天?请用switch语句以及累加法完成。