代码如下
a='abcba'
n=5
flag=0
for i in range(len(a)+1-n):
if(a[i:i+n]==a[i+n-len(a)-1:i-len(a):-1]):
print('YES')
flag=1
if(flag==0):
print('NO')
代码如下
a='abcba'
n=5
flag=0
for i in range(len(a)+1-n):
if(a[i:i+n]==a[i+n-len(a)-1:i-len(a):-1]):
print('YES')
flag=1
if(flag==0):
print('NO')
题主,你这样写逻辑不太对喔~
len(a)=5,所以range(len(a)+1-n)即range(1),所以循环中i=0
if(a[i:i+n]==a[i+n-len(a)-1:i-len(a):-1])即if(a[0:5]==a[-1:-5:-1])
此处的a[-1:-5:-1]中的-5,并不包括-5,可以修改为:
a='abcba'
n=5
flag=0
for i in range(len(a)+1-n):
if(a[i:i+n]==a[i+n-len(a)-1::-1]):
print('YES')
flag=1
if(flag==0):
print('NO')