title: Issue with iterating through Linked List in Python
body: <p>I am trying to implement a Linked List from scratch in Python 3.7 and after many attempts, I can't seem to get the print_values() method to print all node values in the order that is expected (sequential). At this point I am not sure if the problem is with the append() method or the print_values() method.</p>
  
  <pre><code>    class Node:
          def __init__(self, node_value):
              self.node_value = node_value
              self.nextNode = None
  
  
      class SinglyLinkedList:
          # methods that should be available: get_size, insert_at, append, remove, 
          # update_node_value
          def __init__(self):
              self.head_node = None
              self.tail_node = None
              self.size = 0
  
          def get_list_size(self):
              """This returns the value for the size variable which get incremented 
                 every time a new node is added.
                 This implementation is better because it has a running time of O(1) 
                 as opposed to iterating through the
                 whole list which has a running time of O(n)"""
              return self.size
  
          def append(self, value):
              new_node = Node(value)
              if self.head_node is None:
                  self.head_node = new_node
                  self.size += 1
              else:
                  while self.head_node.nextNode is not None:
                      self.head_node = self.head_node.nextNode
                  self.head_node.nextNode = new_node
                  self.size += 1
  
          def print_values(self):
              current_node = self.head_node
              list_values = []
              while current_node.nextNode is not None:
                  list_values.append(current_node.node_value)
                  if current_node.nextNode.nextNode is None:
                      list_values.append(current_node.nextNode.node_value)
                  current_node = current_node.nextNode
              if list_values is not None:
                  print("Linked list: " + str(list_values))
              else:
                  print("Linked List is currently empty.")
  
  
  # Helper code below.
  new_ll = SinglyLinkedList()
  new_ll.append("alpha")
  print(new_ll.get_list_size())
  new_ll.append("beta")
  print(new_ll.get_list_size())
  new_ll.append("gamma")
  print(new_ll.get_list_size())
  new_ll.append("delta")
  print(new_ll.get_list_size())
  new_ll.append("epsilon")
  print(new_ll.get_list_size())
  new_ll.append("zeta")
  print(new_ll.get_list_size())
  new_ll.print_values()
  </code></pre>
  
  <p>And all I am getting in the output is this:</p>
  
  <pre><code>1
  2
  3
  4
  5
  6
  Linked list: ['epsilon', 'zeta']
  </code></pre>