python列举一万年内的对称日,python列举一万年,[Python]代码#
python列举一万年内的对称日,python列举一万年,[Python]代码#
[Python]代码
# -*— utf-8 -*-'''Created on 2011-12-27用于求一万年内的对称日,所谓的对称日,即如20111102,20100102这样的日期由于数据量比较大,大约是3652400个数据,运行有点慢,加上用的算法策略神马的比较低级,所以,大概要几分钟才能出来数据@author: rickey'''year=[]month=[]date=[]for y in range(10000): x= '%04i'%y #不够四位的用0填充 year.append(x) #加入到列表中for m in range(1,13): x='%02i'%m #月份不够两位的用0填充 month.append(x) #加入到列表中YearAndMonth=[a+b for a in year for b in month]#加年和月组合成如201201这样的字符串并建立一个新的列表for i in YearAndMonth: x=YearAndMonth.index(i) #在新的列表中,用i的位置与12取余,余数是0,2,4,6,7,9,11则是31天的 if x%12 in [0,2,4,6,7,9,11]: for d in range(1,32): y='%02i'%d date.append(i+y) elif x%12==1: #如果是二月的情况 if x%12%4==0 or x%12%400==0: #用i的位置与12取余之后,得到的是年份的顺序 #再进行闰年判断 for d in range(1,30): y='%02i'%d date.append(i+y) else: for d in range(1,29): y='%02i'%d date.append(i+y ) else: #30天月份的情况 for d in range(1,31): y = '%02i'%d date.append(i+y)for i in date: x=list(i) x.reverse() #将x换成列表,然后转置,再重新还原成字符串 y="".join(x) if y==i: #如果反转之后还相等,那么就是回文 print(i)
相关内容
- 列表生成,,列表生成,enumera
- 解析ip数据库纯真版,ip数据库纯真版,QQWry.py#!/u
- 计算单词的对应26个字母的数字之和,单词26数字之和
- python3.2加密解密迅雷快车旋风地址,python3.2加密解密
- Python 刷点击量,python刷点击量,[Python]代码im
- Python参数化设计-编程绘图,python参数编程绘图,Python参
- Python 批量获取Baidu关键词的排名并入库,python关键词
- 简单的PHP与Python间Socket通信,phppythonsocket,服务器端Py
- python 实现登陆百度,欢迎指正,python指正,[Python]代码
- 豆瓣-只看楼主-pyquery版,豆瓣楼主-pyquery版,[Python]代码
评论关闭