如何使用 Python 编程实现,以便接收用户输入的一个非负整数n,然后输出对应的杨辉三角(Pascal's Triangle)的前n行,以列表的形式展示出来?
时间: 2024-11-05 08:27:50 浏览: 17
基于Java实现杨辉三角 LeetCode Pascal's Triangle
在Python中,可以使用嵌套循环和动态生成列表的方式来实现杨辉三角的打印。杨辉三角是一个典型的组合数学问题,每一行的数字由上一行的相邻两个数字相加得到。下面是一个简单的函数,它接受用户输入的整数`n`,然后返回前`n`行的杨辉三角:
```python
def print_pascals_triangle(n):
triangle = []
for i in range(n):
# 创建当前行的列表,并填充首尾元素
row = [0] * (i + 1)
if i == 0 or i == 1: # 特殊情况,第一行和第二行只有一项
row[0] = 1
else: # 正常情况,中间的数字是上一行对应位置的数字之和
row[0], row[-1] = 1, 1
for j in range(1, len(row) - 1):
row[j] = triangle[i - 1][j - 1] + triangle[i - 1][j]
triangle.append(row)
# 输出三角形的前n行
for row in triangle[:n]:
print(row)
# 获取用户输入并调用函数
n = int(input("请输入要显示的杨辉三角的行数: "))
print_pascals_triangle(n)
```
当你运行这个程序并输入一个非负整数,它会输出对应的杨辉三角。如果输入`0`或`1`,则仅显示一行。
阅读全文