Python中的回文链长度出现错误

Python中的回文链长度出现错误,python,count,palindrome,Python,Count,Palindrome,我觉得这应该可以正常工作,但是我得到一个错误,计数比应该的少1 def palindrome_chain_length(n): count = 0 while str(n) != str(n)[::-1] : n = n+n count += 1 else: return count 如果您得到的计数比您想要的少,请从count=1开始。 在我看来,这应该是: n += int(str(n)[::-1]) 而不是: n

我觉得这应该可以正常工作,但是我得到一个错误,计数比应该的少1

def palindrome_chain_length(n):
    count = 0
    while str(n) != str(n)[::-1] :
        n = n+n
        count += 1
    else:
        return count

如果您得到的计数比您想要的少,请从
count=1
开始。 在我看来,这应该是:

n += int(str(n)[::-1]) 
而不是:

n = n + n 

(参见注释@alfasin)。

不应该是:
n+=int(str(n)[:-1])
而不是
n=n+n
?谢谢@alfasin!你是对的,它应该是n+=int(str(n)[::-1])谢谢,count=1对于已经是回文的数字来说是不正确的,但是你是对的,它是n+=int(str(n)[::-1])再次感谢!不能使用n[::-1],因为int对象不可下标。因此,您必须将其转换为字符串,反转并再次转换。