Patrice T
Я не могу проверить этот код, но я бы изменил его на что-то подобное.
def length(lists):
a = 0
answer = ''
for item in lists:
x = len(item)
if x > a:
a = x
answer = item
elif x == a:
if item not in list:
answer = answer + ' ' + item
return answer
print length(list)
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков:
отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.
27.3. ПДБ — отладчика Python — питон 3.6.1 документации[
^]
Отладка в Python | Python покоряет Вселенную[
^]
pdb-интерактивный отладчик-Python модуль недели[
^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.