我正在检查一个数字是否是回文。为此,我计算第k个元素等于第(n-k)个元素的次数。如果这个数字等于字符串的长度,那么它就是回文。我得到正确的回文输出,但绝对没有输出(k)时,数字不是回文。参考代码:

T = int(raw_input())
L = []
for i in range(0,T):
    alpha = int(raw_input())
    L.append(alpha)
print L

for i in range(0,len(L)):
    L[i] = str(L[i])
print L

for i in range(0,len(L)):
    k = 0
    while k < len(L[i]) :
        if L[i][k] == L[i][len(L[i])-(k)-1]:
            k = k + 1
    print k

最佳答案

别用这么复杂的逻辑。使用简单的pythonic[::-1]来反转字符串。

In [1]: a = 1234554321

In [2]: def pal(a):
   ...:     if a == a[::-1]:
   ...:         return True
   ...:     else:
   ...:         return False
   ...:

In [3]: pal(str(a))
Out[3]: True

关于python - 为什么我的回文集输出正确,而正则数却没有输出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52912252/

10-14 01:10