2012-03-11 51 views
0

我在Python 3中製作了一個程序,它測試一個數字是否是迴文。顯然它沒有完成,但是當我嘗試運行它時:TypeError,迴文測試(Python 3.x)

#!/usr/bin/env python 
def testforpalin(): 
    i = 101 
    lop = list(str(i)) 
    print(lop) 
    len(lop) 
    if lop[0] == lop[len-1]: 
     print("hi") 
testforpalin() 

TypeError: unsupported operand type(s) for -: 'builtin_function_or_method' and 'int' 

我得到那個錯誤。我該如何解決?

在該行

if lop[0] == lop[len-1]: 

你有len-1其中len是給你的字符串的長度(因此錯誤的函數

回答

3

- 你正在嘗試做減法,其中值之一是len這是一個「builtin_function_or_method」)。你大概的意思lop[len(lop)-1](這工作),但它會更簡單的事:

if lop[0] == lop[-1]: 

因爲[-1]爲您提供了一個字符串或數組的最後一個元素(和[-2]給你下一個到最後一個,等等) 。