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()
结果如下:


版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123




