python-用函数实现输入某年某月某日,判断这一天是这一年的第几天?闰年情况也考虑进去


今天看到一个题目“用函数实现输入某年某月某日,判断这一天是这一年的第几天?闰年情况也考虑进去”,用python来写,编写思路是:

1、先输入一个日期,然后根据日期获取对应的年、月、日

2、将月份及每个月份对应的天数存放在一个字典中

3、判断输入的年份是否为闰年,若为闰年则修改二月份的天数为29天

4、最后根据月、日计算天数

实现代码如下:

# 判断是否是闰年
def leap_year(year_one):
    if (year_one % 400 == 0) or (year_one % 4 == 0 and year_one % 100 != 0):
        return True
    else:
        return False


# 用函数实现输入某年某月某日,判断这一天是这一年的第几天?闰年情况也考虑进去
def year_day():
    str_ymd = input("请输入一个日期(eg:20160818):")
    str_y = int(str_ymd[0:4])  # 获取年份
    str_m = int(str_ymd[4:6])  # 获取月份
    str_d = int(str_ymd[6:8])  # 获取日
    str_day = 0  # 定义第几天
    # 定义一般情况下对应月份的天数
    disc_day = {1: 31, 2: 28, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31}
    # 如果是闰年,2月份的天数修改为29天
    if leap_year(str_y):
        disc_day[2] = 29
    for i in range(1, str_m):
        str_day += disc_day[i]
    str_day = str_day + str_d
    print("%s是%d年的第%d天" % (str_ymd, str_y, str_day))

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM