Python的学习笔记案例5--判断第几天2.0

1.0可以说使用“最笨”的方法得到日期是本年度的第几天,下面逐渐地改进方法,使用最简洁的代码来得到我们想要的东西。

使用列表代替元组:

首先,使用函数封装判断是否闰年的部分代码;

其次,使用列表代替元组,更新2月份的天数,减少判断条件;

最后,整体规范代码,使用{}占位符,使得输入结果更美观。

"""
    作者:langxingbudui
    版本:2.0
    日期:2019-06-12
    功能:输入某年某月某日,判断这一天是这一年的第几天?
    增加功能:使用列表代替元组
"""

from datetime import datetime


def is_leap_year(year):
    """
        判断year是否为闰年
        是,返回True
        否,返回False
    """
    is_leap = False
    if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
        is_leap = True

    return is_leap


def main():
    """
        主函数
    """
    input_date_str = input('请输入日期(yyyy/mm/dd):')
    input_date = datetime.strptime(input_date_str, '%Y/%m/%d')
    # print(input_date)
    year = input_date.year
    month = input_date.month
    day = input_date.day
    # 计算之间月份天数的总数以及当前月的天数
    days_in_month_list = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    if is_leap_year(year):
        days_in_month_list[1] = 29
    days = sum(days_in_month_list[: month - 1]) + day
    
    print('这是{}年的第{}天'.format(year, days))


if __name__ == '__main__':
    main()

Python的学习笔记案例5--判断第几天2.0_第1张图片

你可能感兴趣的:(Python的学习笔记8个案例,Python,判断第几天,列表,元组)