input: Write a python function to generate Pascal's triangle up to n rows.
  assert pascal_triangle(5) == [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
  assert pascal_triangle(3) == [[1], [1, 1], [1, 2, 1]]
  assert pascal_triangle(1) == [[1]]
output: def pascal_triangle(n):
      if n <= 0:
          return []
      
      triangle = [[1]]
      
      for i in range(1, n):
          row = [1]
          for j in range(1, i):
              row.append(triangle[i-1][j-1] + triangle[i-1][j])
          row.append(1)
          triangle.append(row)
      
      return triangle