• 【python】两行代码实现近百年的正反日期查询--20200202


    到2020年了。有个日期也火了,记得上一次还是2011年11月2日。为啥捏,因为日期写成数字形式 正反是一样的。

    2020年也有一个这样的日期。20200202:2020年2月2日。

    于是乎想写一段代码,都有哪些日期是满足这个条件的。

    用python 两行代码搞定。

    首先导入一个时间包:arrow。

    然后就是使用arrow进行转换格式,时间范围,for循环 最后输出

    import arrow
    print([r.format("YYYYMMDD") for r in arrow.Arrow.range('day', arrow.get(1900, 1, 1), arrow.get(2120, 1, 15)) if r.format("YYYYMMDD")==r.format("YYYYMMDD")[::-1]])

    结果:

    ['20011002', '20100102', '20111102', '20200202', '20211202', '20300302', '20400402', '20500502', '20600602', '20700702', '20800802', '20900902', '21011012', '21100112', '21111112', '21200212', '21211212', '21300312', '21400412', '21500512', '21600612', '21700712', '21800812', '21900912', '22011022', '22100122', '22111122', '22200222', '22211222', '22300322', '22400422', '22500522', '22600622', '22700722', '22800822', '22900922']

    说实话上边的只是为了,增加噱头。简化来说还是最简单的循环 判断 输出。

    import arrow
    
    # print([r.format("YYYYMMDD") for r in arrow.Arrow.range('day', arrow.get(1900, 1, 1), arrow.get(9999, 1, 15))
    #        if r.format("YYYYMMDD")==r.format("YYYYMMDD")[::-1]])
    # for r in arrow.Arrow.range('day', arrow.get(1900, 1, 1), arrow.get(2300, 1, 15)):
    start = arrow.get(1900, 1, 1)  # 设置开始时间
    end = arrow.get(2300, 1, 15)   # 设置结束时间
    
    for r in arrow.Arrow.range('day', start, end):
        t = r.format("YYYYMMDD")    #日期格式转换为字符串
        t1 = t[::-1]    # 字符串翻转
        if t1 == t:
            print(t)


    输出结果:

    20011002
    20100102
    20111102
    20200202
    20211202
    20300302
    20400402
    20500502
    20600602
    20700702
    20800802
    20900902
    21011012
    21100112
    21111112
    21200212
    21211212
    21300312
    21400412
    21500512
    21600612
    21700712
    21800812
    21900912
    22011022
    22100122
    22111122
    22200222
    22211222
    22300322
    22400422
    22500522
    22600622
    22700722
    22800822
    22900922

    两个结果显示内容不同,两行代码的。将结果放入list中,输出的是列表。第二段代码是单独输出。也可以将结果放入list中。得到相同的结果。

    完结。。

    
    
  • 相关阅读:
    HDU 3829 Cat VS Dog (最大独立集)【二分图匹配】
    POJ 2594 Treasure Exploration (Floyd+最小路径覆盖)
    HDU 1054 Strategic Game (最小点覆盖)【二分图匹配】
    HDU 4185 Oil Skimming 【最大匹配】
    HDU 2389 Rain on your Parade 最大匹配(模板题)【HK算法】
    HDU 1281 棋盘游戏 (枚举+最大匹配)
    HDU 1045 Fire Net 【二分图匹配】
    POJ 1904 King's Quest (强连通分量+完美匹配)
    HDU 4635 Strongly connected (强连通分量+缩点)
    POJ 2631 Roads in the North (模板题)(树的直径)
  • 原文地址:https://www.cnblogs.com/com-xiaolanchong/p/12191935.html
Copyright © 2020-2023  润新知