我得到了
TypeError: 'NoneType' object is not iterable 在这条线上:
temp, function = findNext(function) 也不知道为什么会失败。我在while循环中使用函数:
while 0 < len(function):
…但我不想重复。在findNext(function)中的所有回报几乎都是
return 'somestring',function[1:]不明白为什么它认为我在迭代其中的一个对象。
发布于 2013-09-10 22:51:20
我猜想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解决办法是总是归还一些东西。
发布于 2013-09-10 21:54:25
声明:
return 'somestring',function[1:]实际上是返回长度为2的元组,而元组是可迭代的。把这句话写成:
return ('somestring', function[1:])这使得它的元组性质更加明显。
https://stackoverflow.com/questions/18729329
复制相似问题