因为百度知道的编辑器没有提供代码功能,将回复写入。


题目如下:

求2000到2999的所有回文日,例如20200202 
用Python怎么做 回文年好求,回文日的话,年月日这咋存啊

思路一:遍历每一天,将日期转换成文本格式,用于回文格式判断。实现如下:

import datetime
#用datetime库处理时间,遍历全部日期,生成字符型,判断是否为回文字符 #对8个字符的文本进行判断
#字符串的处理你可以观看菜鸟教程相关内容,链接:https://www.runoob.com/python/python-strings.html
def isHuiWen(str):
if(len(str) != 8):
return False if(str[0] == str[7] and str[1] == str[6] and str[2]==str[5] and str[3] == str[4]):
return True
else:
return False #print(isHuiWen('20200202'))
#datetime.date1(year,month,day)用于生成日期
date1 = datetime.date(2000, 1, 1)#开始日期
date2 = datetime.date(2999, 12, 31) #结束日期
#这是没有筛选的范围,其实第2位最大只能是2,因为日期不可能出现32
#while循环,条件是date1小于date2,__le__ 这个方法是datetime类型比较中小于等于的方法
while(date1.__le__(date2)):
str1 = date1.strftime("%Y%m%d") #将遍历的date1格式成20200202格式的文本
if(isHuiWen(str1)): #调用函数测试是否为回文,是则打印
print(str1)
date1 = date1 +datetime.timedelta(days=1)

这种方法遍历的时间肯定长,因为很多不符合条件的都要遍历。1000*365次的遍历

第二种方法由于时间的关系,不写代码了,思路如下:

一共8个位置,每个位置可能的数字是0-9,当然第一位和最后一位只能是2,第2、第6位只能是0-2,4-5位只能是0或1,剩下的可能就少很多了。1*3*10*2*2*10*3*1,3600次,写循环遍历每种可能,然后判断形成的字符串能不能组成一个合理的日期。

[python]回答百度知道上的问题2000-2999之间的回文日的更多相关文章

  1. python经典算法题:求字符串中最长的回文子串

    题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab" 注意: ...

  2. Python练习题 025:判断回文数

    [Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ---------------------------------------- ...

  3. 【Python初级】由判定回文数想到的,关于深浅复制,以及字符串反转的问题

    尝试用Python实现可以说是一个很经典的问题,判断回文数. 让我们再来看看回文数是怎么定义的: 回数是指从左向右读和从右向左读都是一样的数,例如1,121,909,666等 解决这个问题的思路,可以 ...

  4. (转载)基于Bash命令行的百度云上传下载工具

    原文链接:http://hi.baidu.com/meoow/item/aef5814bbd5be3e1bcf451e9 这是我根据百度云PCS的API写的一个基于bash的命令行工具, 使用了cur ...

  5. Python获得百度统计API的数据并发送邮件

    Python获得百度统计API的数据并发送邮件 小工具  本来这么晚是不准备写博客的,当是想到了那个狗子绝对会在开学的时候跟我逼逼这个事情,所以,还是老老实实地写一下吧.   Baidu统计API的使 ...

  6. selenium+python自动化77-autoit文件上传

    前言 关于非input文件上传,点上传按钮后,这个弹出的windows的控件了,已经跳出三界之外了,不属于selenium的管辖范围(selenium不是万能的,只能操作web上元素).autoit工 ...

  7. selenium+python自动化77-autoit文件上传【转载】

    前言 关于非input文件上传,点上传按钮后,这个弹出的windows的控件了,已经跳出三界之外了,不属于selenium的管辖范围(selenium不是万能的,只能操作web上元素).autoit工 ...

  8. Python爬虫-百度模拟登录(二)

    上一篇-Python爬虫-百度模拟登录(一) 接上一篇的继续 参数 codestring codestring jxG9506c1811b44e2fd0220153643013f7e6b1898075 ...

  9. 七牛云存储Python SDK使用教程 - 上传策略详解

    文 七牛云存储Python SDK使用教程 - 上传策略详解 七牛云存储 python-sdk 七牛云存储教程 jemygraw 2015年01月04日发布 推荐 1 推荐 收藏 2 收藏,2.7k  ...

随机推荐

  1. A 小石的签到题

    题目链接:https://ac.nowcoder.com/acm/contest/949/A 思路: 这题明确的说了是个签到题,但是一直怀疑不是签到题,是唬我的,结果仔细想了想真是这么回事. 每个人必 ...

  2. HttpClient系统日志配置

    详细介绍在:http://hc.apache.org/httpclient-3.x/logging.html 一般使用context logging基本够用,context logging解释原文如下 ...

  3. hadoop配置文件详解、安装及相关操作补充版

    一.      Hadoop伪分布配置           首先应该现在profile文件添加hadoop_home操作如下: export JAVA_HOME=/usr/java/jdk expor ...

  4. Linux上部署Tomcat+Nginx负载均衡

    前提:配置好了JDK. 我这里是vm上的linux虚拟机,可能不适用于所有情况. 一.Linux上配置Tomcat 1.下载地址:https://tomcat.apache.org/download- ...

  5. <USACO09FEB>庙会捷运Fair Shuttleの思路

    一个没有被我成功证明的 贪心 但是 ac了的 别人排序都是排终点.但我的排终点错了emm排起点才对qvq 有没有人友情看看怎么证(没有 #include<cstdio> #include& ...

  6. Maven基本概念和操作

    最近在学Java,找来一个开源项目练手,它是用 Spring Boot 搭建的框架,于是去学 Spring Boot,然而 Spring Boot 需要有 Spring 框架和 Maven 的使用经验 ...

  7. SWUST OJ Euclid's Game(0099)

    Euclid's Game(0099) Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 1855 Accepted: 589   De ...

  8. Protocol Buffers学习(4):更多消息类型

    介绍一下消息的不同类型和引用 使用复杂消息类型 您可以使用其他消息类型作为字段类型.例如,假设你想在每个SearchResponse消息中包含Result消息,您可以在同一个.proto中定义一个Re ...

  9. 使用apache mail发送邮件错误解决办法

    今天在写发送邮件的程序时发现了以下两个些错误,贴出来跟大家分享分享 希望对大家有帮助. 错误一: Exception in thread "main" java.lang.NoCl ...

  10. songCMS 3.15 cookie SQLINJ

    ./code/profile.php ... $db = new db(); $SQL = "SELECT * FROM `{$dbprefix}user` WHERE `ID` = {$_ ...