I am working on linked list python code (see code below), and I can't for the life of me work out why when the condition check_value == search_term is clearly True the function does not return that.
https://i.sstatic.net/2hpmp.jpg
You can see that the print statement for the fifth iteration shows that the statement is True, but the function overall evaluates to False. Can anyone explain what I am doing wrong?
class LinkedListNode:
def __init__(self, value, next_node = None):
self.value = value
self.next_node = next_node
def linked_list_search(node, search_term):
check_value = node.value
next_node = node.next_node
if not next_node == None:
next_node_value = next_node.value
if check_value == search_term:
return True
else:
linked_list_search(node.next_node, search_term)
if check_value == search_term:
return True
return False
#Below are lines of code that create a linked list,
#and then search for two values in that linked list:
#one that is there, one that isn't. If your function
#works, it should print True then False.
node_7 = LinkedListNode(5)
node_6 = LinkedListNode(2, node_7)
node_5 = LinkedListNode(9, node_6)
node_4 = LinkedListNode(1, node_5)
node_3 = LinkedListNode(4, node_4)
node_2 = LinkedListNode(6, node_3)
root_node = LinkedListNode(7, node_2)
print(linked_list_search(root_node, 9))
print(linked_list_search(root_node, 3))
Thanks in advance.
Update: Apologies for original post. I wanted to show the output, which is why I included an image. Code is now included.
Thank you for the replies.
John Colemanmentioned in the comment. That's why overall response is False and result will be always unpredictable. Post a minimal code instead of image, then you will get response faster :).