我写了这个检查字符串是否是回文的代码,但是在执行时输出显示一个“递归错误”。如何解决此问题?你知道吗
def palindrome(string):
if len(string) < 1:
return True
else:
if string[0] == string[-1]:
return palindrome(string[::-1])
else:
return False
string = input("Enter a string:")
if palindrome(string)==True:
print("String is palindrome")
else:
print("String is not palindrome:")
你犯了两个错误
第一个是退出条件,长度为1的字符串应该是回文。你知道吗
第二个错误是
string[::-1]
返回字符串,但返回的是相反的,没有减小大小。您希望检查字符串减去第一个和最后一个元素,如下:string[1:-1]
正如在注释中提到的,如果不想执行递归,还可以通过这种方式
string == string[::-1]
检查它是否是回文相关问题 更多 >
编程相关推荐