当你使用
if is_palindrome
在函数的第6行中,它应该在前面定义过。如果输入为单个字符,则输入长度为1,因此1//2=0。程序永远不会进入循环。因此
is_palindrome
从来没有定义过。我认为把程序改成这个会有帮助。
def validPalindrome(str: str) -> bool:
is_palindrome = True
for i in range(len(str)//2):
if str[i] != str[-i-1]:
is_palindrome = False
break
return is_palindrome