Нетиповая Ошибка, Python
Я получаю
TypeError: 'NoneType' object is not iterable
На этой строке:
temp, function = findNext(function)
И понятия не имею, почему это не удается. Я использую функцию в циклах while:
while 0 < len(function):
…
Но я не перебираю его. Все возвраты в findNext(function)
в значительной степени
return 'somestring',function[1:]
И не может понять, почему он думает, что я повторяю один из этих объектов.2 ответа:
Я предполагаю, что
findNext
падает с конца, ничего не возвращая, что делает его автоматически возвращаемымNone
. Примерно так:>>> def findNext(function): ... if function == 'y': ... return 'somestring',function[1:] ... >>> function = 'x' >>> print(findNext(function)) None >>> temp, function = findNext(function) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'NoneType' object is not iterable
Решением было бы всегда возвращать что-то.