[Tutor] recursive problem
Roelof Wobben
rwobben at hotmail.com
Thu Sep 9 10:51:46 CEST 2010
Hello,
I have this :
def recursive_count(target, nested_num_list):
"""
>>> recursive_count(2, [2, 9, [2, 1, 13, 2], 8, [2, 6]])
4
>>> recursive_count(7, [[9, [7, 1, 13, 2], 8], [7, 6]])
2
>>> recursive_count(15, [[9, [7, 1, 13, 2], 8], [2, 6]])
0
>>> recursive_count(5, [[5, [5, [1, 5], 5], 5], [5, 6]])
6
"""
for element in nested_num_list:
if type(element) == type([]):
test = recursive_count(target, element)
print element, target
if element == target :
count = count + 1
return count
if __name__ == "__main__":
import doctest
doctest.testmod()
Now I get this message :
UnboundLocalError: local variable 'count' referenced before assignment
But if I do this :
def recursive_count(target, nested_num_list):
"""
>>> recursive_count(2, [2, 9, [2, 1, 13, 2], 8, [2, 6]])
4
>>> recursive_count(7, [[9, [7, 1, 13, 2], 8], [7, 6]])
2
>>> recursive_count(15, [[9, [7, 1, 13, 2], 8], [2, 6]])
0
>>> recursive_count(5, [[5, [5, [1, 5], 5], 5], [5, 6]])
6
"""
count = 0
for element in nested_num_list:
if type(element) == type([]):
test = recursive_count(target, element)
print element, target
if element == target :
count = count + 1
return count
if __name__ == "__main__":
import doctest
doctest.testmod()
The count will always be 0 if a nested list is being found.
What's the python way to solve this
Roelof
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20100909/fa1a1dc8/attachment.html>
More information about the Tutor
mailing list