python判断是否有长度为5的回文

#判断一串字符a里是否有长度为5的回文:若有则输出yes;若无则输出no
#若字符长度小于2,则a不是回文
#举例
输入abcbad
输出yes
输入ghgijk
输出no
输入lmnopqpo
输出yes

博主可以检查一下第一个是否打错了,如果没有打错的话请忽略我的建议

# 编写判断函数:当前位置开头的5个字符组成的子字符串是否符合
def check(strs, i):
    # 从当前位置开始截取长度为5的子串
    strs1 = strs[i:i+5]
    # 将子字符串翻转
    strs2 = strs1[::-1]
    # 判断
    if strs1 != strs2:
        return False
    else:
        return True

if __name__ == '__main__':
    strs = input()
    # 判断主串是否能够含有长度为5的字串
    if (len(strs)) < 5:
        print("no")
    else:
        # 依次遍历判断开始字符位置:从主串的开始到倒数第5个
        for i in range(len(strs)-4):
            # 判断当前位置的字串是否符合
            isfound = check(strs, i)
            if isfound:
                print("yes")
                break
        # 检测上述循环退出原因:未找到(遍历结束)isfound=False
        if not isfound:
            print('no')

def main():
    str = raw_input()
    if len(str) < 5:
        print("no")
        return
    found = False
    for i in range(len(str)-4):
        print(i)
        if str[i] == str[i+4] and str[i+1] == str[i+3]:
            found = True
            break
    if found:
        print("yes")
    else:
        print("no")

if __name__ == '__main__':
    main()

n=input("请输入一个5位数:")
a=0
b=len(n)-1
flag=True
while a<b:                      #使用 while 循环和 if 语句判断输入的5位数是否是回文数,并打印判断结果
    if n[a]!=n[b]:
        print ("no")
        flag=False
        break
    a,b=a+1,b-1
if flag:
    print ("yes")
a = input(">>>")
for i in range(len(a) - 4):
    if a[i:i+5] == a[i:i+5][::-1] and len(a[i:i+5]) == 5:
        print('yes')
        break
else:
    print('no')

别的先不说,第一个例子里abcdad哪里有长度为5的回文?

https://blog.csdn.net/weixin_39590453/article/details/109943722?ops_request_misc=&request_id=&biz_id=102&utm_term=python%E5%88%A4%E6%96%AD%E6%98%AF%E5%90%A6%E6%9C%89%E9%95%BF%E5%BA%A6%E4%B8%BA5%E7%9A%84%E5%9B%9E%E6%96%87&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduweb~default-2-109943722.nonecase&spm=1018.2226.3001.4450

代码如下如有帮助请点击一下采纳谢谢:

def is_h(temp):
    if temp[::-1] == temp:
        return 1
    else:
        return 0


a = input()
if len(a) < 5:
    print('no')
else:
    for i in range(len(a)-4):
        if is_h(a[i:i+5]):
            print('yes')
            break
    else:
        print('no')

一句话


string[::-1]==string