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中输入某年某月某日,判断这一天是这一年的第几天?