概述
Python 每日一题:锻炼Python语法的运用,思维逻辑的锻炼,算法能力的培养。
题目:
传入年月日参数,计算传入日期是该年的第多少天?
分析:
1、判断年份、月份、天数是否符合要求。
2、循环月份:1、3、5、7、8、10、12月31天;4、6、9、11月30天;2月闰年为29年,平年28天
3、累加天数:输入月份如果大于1,则为:前几个月的天数 + 输入天数,否则就是输入的天数。
程序实现:
def is_leap(year):
'''
判断年份是否为闰年
:param year: 判断的年份数
:return: 是闰年返回True,否则返回None
'''
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
return True
def date_specification(year, month, day):
'''
判断传入的年月日是否符合规范
:param year: 判断的年份值
:param month: 判断的月份值
:param day: 判断的天数值
:return: 符合返回True,否则返回None
'''
if year > 0:
if 1 <= month <= 12:
if month == 2:
if is_leap(year):
if 1 <= day <= 29:
return True
else:
if 1 <= day <= 28:
return True
def date_days_count(year, month, day):
if date_specification(year, month, day):
days_list = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30]
total_days = 0
for m in range(month-1):
total_days += days_list[m]
if month > 2:
if is_leap(year):
total_days += 1
total_days += day
print(f'{year}/{month}/{day} 是{year}年的第{total_days}天。')
else:
print('日期有误!')
date_days_count(2019, 13, 33)
date_days_count(1949, 3, 18)
实现结果:
日期有误!
1949/3/18 是1949年的第77天。
【结语】以上整个程序的实现逻辑,还存在很多不全面的地方,欢迎各位大佬指点;如果觉得笔者不易,请给予点赞,给予我记录更多文章的动力!!
最后
以上就是单薄火车为你收集整理的Python 每日一题(计算一个日期是该年的第多少天)的全部内容,希望文章能够帮你解决Python 每日一题(计算一个日期是该年的第多少天)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复