我用Python3编写了一个程序,用来测试一个数字是否为回文。显然它还没有完成,但当我尝试运行它时:
#!/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'我明白这个错误。我该如何解决这个问题?
发布于 2012-03-11 11:52:00
在队伍中
if lop[0] == lop[len-1]:您可以使用len-1,其中len是提供字符串长度的函数(因此出现错误-您正在尝试执行减法,其中一个值是len,它是一个"builtin_function_or_method")。您可能指的是lop[len(lop)-1] (它可以工作),但这样做会更简单:
if lop[0] == lop[-1]:因为[-1]提供字符串或数组中的最后一个元素(而[-2]提供倒数第二个元素,依此类推)。
https://stackoverflow.com/questions/9652266
复制相似问题