format()方法格式化输出杨辉三角
时间: 2023-12-04 17:06:09 浏览: 29
可以使用format()方法和循环语句来格式化输出杨辉三角。下面是一个示例代码:
```
n = int(input("请输入要输出的行数:"))
last_row = [1]
print("{:^20}".format("1"))
for i in range(1, n):
current_row = []
for j in range(i+1):
if j == 0 or j == i:
current_row.append(1)
else:
current_row.append(last_row[j-1] + last_row[j])
last_row = current_row
row_str = " ".join("{:^4}".format(num) for num in current_row)
print("{:^20}".format(row_str))
```
在这个例子中,用户输入要输出的行数,然后使用一个列表`last_row`来保存上一行的数据。使用循环语句,计算出当前行的数据,并将其格式化为一个字符串。在每行的输出中,使用`format()`方法将字符串居中对齐,并且保证整个输出的宽度为20个字符。
相关问题
format法格式化输出杨辉三角
可以使用format函数来格式化输出杨辉三角,代码如下:
```python
def print_yanghui_triangle(n):
# 初始化杨辉三角
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)
# 输出杨辉三角
max_num_width = len(str(triangle[-1][len(triangle[-1])//2]))
for row in triangle:
row_str = ' '.join(['{:^{}}'.format(num, max_num_width) for num in row])
print(row_str.center(n*max_num_width))
# 测试
print_yanghui_triangle(7)
```
输出结果如下:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
```
format()方法格式输出杨辉三角
可以使用以下代码输出指定行数的杨辉三角:
```python
def yanghui_triangle(n):
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
def print_triangle(triangle):
width = len(str(triangle[-1][len(triangle[-1])//2]))
for row in triangle:
print(' '.join(str(i).center(width) for i in row))
n = 10
triangle = yanghui_triangle(n)
print_triangle(triangle)
```
输出结果如下:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
......
```
其中,`yanghui_triangle`函数用于生成杨辉三角的二维列表,`print_triangle`函数用于将二维列表格式化输出。`width`变量用于计算每个数字所占的宽度,确保输出的三角形对齐。