我是靠谱客的博主 美满舞蹈,最近开发中收集的这篇文章主要介绍Python的学习笔记案例5--判断第几天3.0,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

v3.0本节课介绍集合的概念:
Python中的集合(set)类型同数学中的集合概念一致,即包含0或多个数据项的无序组合。
集合中的元素不可重复
集合是无序组合,没有索引和位置的概念
set()函数用于集合的生成,返回结果时一个无重复且排序任意的集合
集合通常用于表示成员间的关系、元素去重

集合操作含义
s - t 或 s.difference(t)

返回在集合s中但不在t中的元素

s & t 或s.intersection(t)返回同时在集合s和t中的元素
s | t 或 s.union(t)返回集合s和t中的所有元素
s ^ t 或s.symmetric_difference(t)

返回集合s和t中的元素,但不包括

同时在其中的元素

 

 

 

 

 

 

1、将30天、31天的月份分别放在不同的两个集合中;

2、判断当前月之前的所有月份都分别在哪个集合中,然后将天数加上30天或31天;

3、2月份,加上28天;

4、闰年并大约2月份,加上1天;

5、还需要将初始值days先加上day。

"""
    作者:langxingbudui
    版本:3.0
    日期:2019-06-13
    功能:输入某年某月某日,判断这一天是这一年的第几天?
    2.0增加功能:使用列表代替元组
    3.0增加功能:将月份划分为不同的集合再操作

"""

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

    # 包含30天的月份集合
    _30_days_month_set = {4, 6, 9, 11}
    # 包含31天的月份集合
    _31_days_month_set = {1, 3, 5, 7, 8, 10, 12}

    # 初始化值
    days = 0
    days += day

    for i in range(1, month):
        if i in _30_days_month_set:
            days += 30
        elif i in _31_days_month_set:
            days += 31
        else:
            days += 28
    if is_leap_year(year) and month > 2:
        days += 1

    print('这是{}年的第{}天'.format(year, days))


if __name__ == '__main__':
    main()

结果如下图:

最后

以上就是美满舞蹈为你收集整理的Python的学习笔记案例5--判断第几天3.0的全部内容,希望文章能够帮你解决Python的学习笔记案例5--判断第几天3.0所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部