#判断一串字符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的回文?
代码如下如有帮助请点击一下采纳谢谢:
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