| t | def pastri(n, filler): | t | def pastri(n, filler): |
| triangle = [[1]] | | triangle = [[1]] |
| for i in range(1, n): | | for i in range(1, n): |
| prev = triangle[-1] | | prev = triangle[-1] |
| row = [1] | | row = [1] |
| for j in range(1, len(prev)): | | for j in range(1, len(prev)): |
| row.append(prev[j - 1] + prev[j]) | | row.append(prev[j - 1] + prev[j]) |
| row.append(1) | | row.append(1) |
| triangle.append(row) | | triangle.append(row) |
| str_rows = [filler.join((str(x) for x in row)) for row in triangle] | | str_rows = [filler.join((str(x) for x in row)) for row in triangle] |
| max_len = len(str_rows[-1]) | | max_len = len(str_rows[-1]) |
| result_lines = [] | | result_lines = [] |
| for s in str_rows: | | for s in str_rows: |
| pad_left = (max_len - len(s)) // 2 | | pad_left = (max_len - len(s)) // 2 |
| pad_right = max_len - len(s) - pad_left | | pad_right = max_len - len(s) - pad_left |
| line = filler * pad_left + s + filler * pad_right | | line = filler * pad_left + s + filler * pad_right |
| result_lines.append(line) | | result_lines.append(line) |
| return '\n'.join(result_lines) | | return '\n'.join(result_lines) |