我使用Python27的这个小代码内容得到了这个错误。谁能帮我这个?提前谢谢。
运行时错误回溯(最近一次调用最后一次):文件 “5eb4481881d51d6ece1c375c80f5e509.py”,第57行, print len(arr)TypeError:'list'对象不可调用
global maximum
def _lis(arr , n ):
# to allow the access of global variable
global maximum
# Base Case
if n == 1 :
return 1
# maxEndingHere is the length of LIS ending with arr[n-1]
maxEndingHere = 1
"""Recursively get all LIS ending with arr[0], arr[1]..arr[n-2]
IF arr[n-1] is maller than arr[n-1], and max ending with
arr[n-1] needs to be updated, then update it"""
for i in xrange(1, n):
res = _lis(arr , i)
if arr[i-1] < arr[n-1] and res+1 > maxEndingHere:
maxEndingHere = res +1
# Compare maxEndingHere with overall maximum. And
# update the overall maximum if needed
maximum = max(maximum , maxEndingHere)
return maxEndingHere
def lis(arr):
# to allow the access of global variable
global maximum
# lenght of arr
n = len(arr)
# maximum variable holds the result
maximum = 1
# The function _lis() stores its result in maximum
_lis(arr , n)
return maximum
num_t = input()
len = [None]*num_t
arr = []
for i in range(0,num_t):
len[i] = input()
arr.append(map(int, raw_input().split()))
print len(arr)
break
答案 0 :(得分:5)
您已经创建了一个名为len
的列表,您可以在此处看到,因为您可以将其编入索引:
len[i] = input()
很自然地,len
不再是获取列表长度的函数,导致您收到错误。
解决方案:将您的len
列表命名为其他内容。
答案 1 :(得分:1)
当你定义一个也是内置函数名的变量时会发生这种情况
将变量len
更改为其他内容。