2015-02-22 3 views
-1

Я пытаюсь решить простую проблему Hackerrank, используя python, но застрял в странной ошибке. Код, похоже, работает в IDLE. Я использую Python 3.4FInding length of list: объект 'list' не может быть вызван

Посмотрите на этот код

lines = int(input()) 
n = lines 
strings = [] 
while n>0: 
    strings.append(input()) 
    n -=1 
len = [] 
n=lines 
while n>0: 
    strl = list(strings[lines-n]) 
    result = [] 

    print(len(strl)) -----> throws error list not callable 
    n-=1 
+0

так что я пытаюсь найти длину строки после того, как я превратил ее в список внутри цикла while. Я намерен сохранить длину строки, как в print (len (strl)), изменить на len.append (len (strl)) – Ratnaraj

+0

получил ответ, пожалуйста, IGNORE вопрос – Ratnaraj

+0

Вам не нужно указывать это в комментарии, вы должны [принять ответ] (http://meta.stackexchange.com/a/5235/202811), чтобы сообщить, что у вас есть ответ. –

ответ

6

Rename len = [].

Он связан с использованием len как для функции len(), так и для вашей переменной.

1
len = [] 
#^here's your problem 

Вы создали новую len переменную, скрывающую встроенную len. Когда вы попытаетесь позвонить len позже в свой код, он пытается использовать список как функцию и терпит неудачу. Назовите это чем-то другим.