回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在写一个简单的代码来检查一个数字是否是回文。
每当该数字有两个连续的零时,<code>print('removing',palind[-1])</code>就会在列表中指向错误的零</p>
<pre><code>n = 200314413002
x = n
palind = []
while n > 0:
d = n % 10
n = n // 10
palind.append(d)
print(palind, 'is to check')
actual_palind = []
for i in palind:
if palind[0] == palind[-1] and len(palind) % 2 == 0:
print('removing',palind[0])
palind.remove(palind[0])
print('removing',palind[-1])
palind.remove(palind[-1])
print(palind,'is still a palindrome')
actual_palind.append(x)
else:
print(x,'is not a palindrome')
break
print(x, 'is a palindrome')
</code></pre>
<p>这是输出</p>
<pre><code>[2, 0, 0, 3, 1, 4, 4, 1, 3, 0, 0, 2] is to check
removing 2
removing 2
[0, 0, 3, 1, 4, 4, 1, 3, 0, 0] is still a palindrome
removing 0
removing 0
[3, 1, 4, 4, 1, 3, 0, 0] is still a palindrome
200314413002 is not a palindrome
200314413002 is a palindrome
</code></pre>
<p>我错过了什么</p>