栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

确定连续的日期

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

确定连续的日期

循环浏览列表中除最后一项以外的所有项,并将其与下一项进行比较。如果第二个月的月份正好比第一个月的月份大一个,或者第二秒的月份为1且第二年的年份恰好大于第一个月的月份,则两个项是连续的。返回

False
在第一次失败,否则返回
True
底。

编辑:在第二种情况下,除了第二个月是1,显然第一个月必须是12。

编辑2:在第一种情况下,显然年份应该相同。那就是你写得太快所得到的。

情人:

#!/usr/bin/pythonfrom datetime import datedef is_consecutive(datelist):    for idx, my_date in enumerate(datelist[:-1]):        if ((datelist[idx + 1].month - my_date.month == 1 and  datelist[idx + 1].year == my_date.year) or (datelist[idx + 1].month == 1 and  my_date.month == 12 and  datelist[idx + 1].year - my_date.year == 1)): continue        else: return False    return Trueprint is_consecutive([date(2010, 10, 3),date(2010, 11, 8),date(2010, 12, 1),date(2011, 1, 11)])print is_consecutive([date(2010, 7, 6),date(2010, 8, 24),date(2010, 3, 5),date(2010, 10, 25)])

一种替代的实现,可能更容易遵循,但基本上可以做同样的事情:

def is_consecutive(datelist):    for idx, my_date in enumerate(datelist[:-1]):        month_diff = datelist[idx + 1].month - my_date.month        year_diff = datelist[idx + 1].year - my_date.year        if ((month_diff == 1 and year_diff == 0) or (month_diff == -11 and year_diff == 1)): continue        else: return False    return True


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/661770.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号