编写程序,格式化输出杨辉三角(递归)
时间: 2024-12-13 08:28:58 浏览: 53
杨辉三角,也称为帕斯卡三角,是一个数学术语,每一行都是由前一行的数字相加得到的。我们可以使用递归来创建这个三角形,因为每一项的值是由上一项和它左侧的一项计算得出的。以下是一个用Python编写的递归函数,用于生成并格式化输出杨辉三角:
```python
def pascal_triangle(n):
if n <= 0:
return ""
elif n == 1:
return "1"
else:
prev_row = pascal_triangle(n - 1)
curr_row = ""
for i in range(n):
# 左侧元素
left_elem = ""
if i > 0:
left_elem = str(prev_row[i - 1])
# 中间的空格
space = " " * (n - i - 1)
# 右侧元素
right_elem = str(prev_row[-i - 1])
curr_row += left_elem + space + right_elem + "\n"
return curr_row[:-1] # 去掉最后一行多余的换行符
# 输出第n行杨辉三角
n = int(input("请输入要生成的杨辉三角的行数:"))
print(pascal_triangle(n))
```
在这个代码中,`pascal_triangle`函数接受一个整数`n`作为参数,表示要生成的三角形的行数。当`n`为1时,返回单个"1";否则,递归地获取前一行(`prev_row`),然后循环构建当前行(`curr_row`),包括左侧、中间的空格和右侧的数字。
阅读全文
相关推荐


















