input: 
  def move_zeroes(lst):
      # Count the number of non-zero elements
      num_non_zeroes = sum(1 for num in lst if num != 0)
    
      # Remove all zeroes and count them
      lst = [num for num in lst if num != 0]
    
      # Append the counted number of zeroes to the end
      lst.extend([0] * (len(lst) - num_non_zeroes))
    
      return lst
  
  # Test cases
  print(move_zeroes([3, 0, 1, 0, 5, 0, 2]))  # Output: [3, 1, 5, 2, 0, 0, 0]
  print(move_zeroes([0, 0, 0, 0, 0]))       # Output: [0, 0, 0, 0, 0]
  print(move_zeroes([1, 2, 3, 4, 5]))       # Output: [1, 2, 3, 4, 5]
  print(move_zeroes([]))                    # Output: []
  
output:     # Correct the number of zeroes to append
      lst.extend([0] * (len(lst) - num_non_zeroes))
    
      return lst