from node import Node class LinkedList: def __init__(self): self.__head = None self.__tail = None def isEmpty(self): return self.__head is None def append(self, value): if self.isEmpty(): self.__head = Node(value) self.__tail = self.__head else: self.__tail.setNext(Node(value)) self.__tail = self.__tail.getNext() def __str__(self): #return str(self.__head) myStr = '' current = self.__head while current is not None: myStr += str(current.getData()) + " --> " current = current.getNext() myStr += '🛑' return myStr def __len__(self): if self.isEmpty(): return 0 else: count = 1 # Traverse here = self.__head while here.getNext() is not None: here = here.getNext() count += 1 return count if __name__ == "__main__": myList = LinkedList() print(myList.isEmpty()) print(len(myList)) myList.append("A") print(len(myList)) myList.append("B") myList.append("C") print(myList.isEmpty()) print(myList)