| f | def pastri(n, filler): | f | def pastri(n, filler): |
| n | if n <= 0: | n | if n < 1: |
| return '' | | return '' |
| triangle = [[1]] | | triangle = [[1]] |
| for i in range(1, n): | | for i in range(1, n): |
| row = [1] | | row = [1] |
| for j in range(1, i): | | for j in range(1, i): |
| row.append(triangle[i - 1][j - 1] + triangle[i - 1][j]) | | row.append(triangle[i - 1][j - 1] + triangle[i - 1][j]) |
| row.append(1) | | row.append(1) |
| triangle.append(row) | | triangle.append(row) |
| n | lines = [] | n | str_rows = [] |
| for row in triangle: | | for row in triangle: |
| n | line = filler.join((str(x) for x in row)) | n | str_row = filler.join((str(x) for x in row)) |
| lines.append(line) | | str_rows.append(str_row) |
| max_len = len(lines[-1]) | | max_width = len(str_rows[-1]) |
| result = [] | | result = [] |
| t | for line in lines: | t | for row in str_rows: |
| total_pad = max_len - len(line) | | padding = max_width - len(row) |
| left_pad = total_pad // 2 | | left_padding = padding // 2 |
| right_pad = total_pad - left_pad | | right_padding = padding - left_padding |
| result.append(left_pad * filler + line + right_pad * filler) | | result.append(filler * left_padding + row + filler * right_paddi |
| | | ng) |
| return '\n'.join(result) | | return '\n'.join(result) |