|
It's impossible to say without seeing your actual code. Likely the reason is a code path through your function that doesn't execute a return statement. When the code goes down that path, the function ends with no value returned, and so returns None. Updated: It sounds like your code looks like this: def b(self, p, data): current = p if current.data == data: return True elif current.data == 1: return False else: self.b(current.next, data)That else clause is your None path. You need to return the value that the recursive call returns: else: return self.b(current.next, data)BTW: using recursion for iterative programs like this is not a good idea in Python. Use iteration instead. Also, you have no clear termination condition. (责任编辑:) |
