input: Write a function to generate the first n elements of the Sierpinski triangle. The function should print out the binary representation of the Sierpinski triangle, with '1' representing the filled part and '0' representing the empty part.
  
  def sierpinski_triangle(n): 
      # Drawing lines for first row 
      for i in range(2**n): 
          print(' ', end=" ") 
      
      # loop for printing n rows 
      for i in range(1, n+1): 
          # bit pattern for first and 
          # last line of each row 
          for j in range(2**(i-1), 2**i): 
              print('1', end=" ") 
          print() 
          
          # inner rows have opposite bit pattern 
          if i > 1: 
              for j in range(2**(i-1)+1, 2**i-1):  
                  print('0', end=" ") 
              print() 
         
  assert sierpinski_triangle(6)==None # The function only prints the Sierpinski triangle and does not return a value.
output: def sierpinski_triangle(n): 
      for i in range(n): 
          line = '' 
          for j in range(n-i-1): 
              line += ' ' 
          for j in range(2**i): 
              line += '1' 
              if j < 2**i - 1: 
                  line += ' ' 
          print(line)