|
|
发表于 2024-3-21 10:55:22
|
显示全部楼层
杨辉三角是一个三角形的数字图案,其中每个数值是位于它上方两个数之和。现在我们来解决这个问题。
算法思路:
1. 创建一个二维列表,用于存储杨辉三角的数字。
2. 使用两层循环来填充二维列表:
a. 外层循环控制行数,从第一行到第n行。
b. 内层循环控制列数,从第一列到第n列。
c. 对于每个位置(i, j),如果j等于0或者j等于i,那么当前位置的值为1;否则,其值为上一行同列和前一列的值之和。
3. 遍历二维列表,按照格式打印出杨辉三角。
下面是具体实现的代码:
- def print_yanghui_triangle(n):
- triangle = [[0] * (i+1) for i in range(n)]
-
- for i in range(n):
- for j in range(i+1):
- if j == 0 or j == i:
- triangle[i][j] = 1
- else:
- triangle[i][j] = triangle[i-1][j] + triangle[i-1][j-1]
-
- for row in triangle:
- for number in row:
- print(number, end=' ')
- print()
- n = int(input("请输入要打印的杨辉三角的行数:"))
- print_yanghui_triangle(n)
复制代码
你可以将以上代码保存为一个.py文件,然后运行,并输入要打印的杨辉三角的行数。程序会输出杨辉三角的图案。
希望这个回答对你有帮助,如果还有任何问题,欢迎继续提问!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|