old_contents: from __future__ import print_function
  
  
  class Node:  # create a Node
      def __int__(self, data):
          self.data = data  # given data
          self.next = None  # given next to None
  
  
  class Linked_List:
      def insert_tail(Head, data):
          if(Head.next is None):
              Head.next = Node(data)
          else:
              Head.next.insert_tail(data)
  
      def insert_head(Head, data):
          tamp = Head
          if tamp is None:
              newNod = Node()  # create a new Node
              newNod.data = data
              newNod.next = None
              Head = newNod  # make new node to Head
          else:
              newNod = Node()
              newNod.data = data
              newNod.next = Head  # put the Head at NewNode Next
              Head = newNod  # make a NewNode to Head
          return Head
  
      def printList(Head):  # print every node data
          tamp = Head
          while tamp is not None:
              print(tamp.data)
              tamp = tamp.next
  
      def delete_head(Head):  # delete from head
          if Head is not None:
              Head = Head.next
          return Head  # return new Head
  
      def delete_tail(Head):  # delete from tail
          if Head is not None:
              tamp = Node()
              tamp = Head
              while (tamp.next).next is not None:  # find the 2nd last element
                  tamp = tamp.next
              # delete the last element by give next None to 2nd last Element
              tamp.next = None
          return Head
  
      def isEmpty(Head):
          return Head is None  # Return if Head is none
  
      def reverse(Head):
          prev = None
          current = Head
  
          while(current):
              # Store the current node's next node.
              next_node = current.next
              # Make the current node's next point backwards
              current.next = prev
              # Make the previous node be the current node
              prev = current
              # Make the current node the next node (to progress iteration)
              current = next_node
          # Return prev in order to put the head at the end
          Head = prev
  
new_contents: from __future__ import print_function
  
  
  class Node:  # create a Node
      def __int__(self, data):
          self.data = data  # given data
          self.next = None  # given next to None
  
  
  class Linked_List:
      def insert_tail(Head, data):
          if Head.next is None:
              Head.next = Node(data)
          else:
              Head.next.insert_tail(data)
  
      def insert_head(Head, data):
          tamp = Head
          if tamp is None:
              newNod = Node()  # create a new Node
              newNod.data = data
              newNod.next = None
              Head = newNod  # make new node to Head
          else:
              newNod = Node()
              newNod.data = data
              newNod.next = Head  # put the Head at NewNode Next
              Head = newNod  # make a NewNode to Head
          return Head
  
      def printList(Head):  # print every node data
          tamp = Head
          while tamp is not None:
              print(tamp.data)
              tamp = tamp.next
  
      def delete_head(Head):  # delete from head
          if Head is not None:
              Head = Head.next
          return Head  # return new Head
  
      def delete_tail(Head):  # delete from tail
          if Head is not None:
              tamp = Node()
              tamp = Head
              while tamp.next.next is not None:  # find the 2nd last element
                  tamp = tamp.next
              # delete the last element by give next None to 2nd last Element
              tamp.next = None
          return Head
  
      def isEmpty(Head):
          return Head is None  # Return if Head is none
  
      def reverse(Head):
          prev = None
          current = Head
  
          while current:
              # Store the current node's next node.
              next_node = current.next
              # Make the current node's next point backwards
              current.next = prev
              # Make the previous node be the current node
              prev = current
              # Make the current node the next node (to progress iteration)
              current = next_node
          # Return prev in order to put the head at the end
          Head = prev
  
subject: Update singly_LinkedList.py