|
发表于 2023-8-2 10:50:35
|
显示全部楼层
打印任意阶数的杨辉三角
- s = int(input("请输入杨辉三角的阶数:"))
- print(s, "阶杨辉三角如下:")
- # 创建一个s*s的二维列表,并将所有的元素初始化为0
- triangle = []
- for i in range(s):
- triangle.append([])
- for j in range(s):
- triangle[i].append(0)
- # 计算杨辉三角
- # 根据观察可以发现,杨辉三角左右两边的元素均为1
- for i in range(s):
- triangle[i][0] = 1
- triangle[i][i] = 1
- # 第i行j列的值 = 第(i-1)行(j-1)列的值 + 第(i-1)行(j)列的值
- for i in range(2, s):
- for j in range(1, i):
- triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j]
- # 输出杨辉三角
- for i in range(s):
- for k in range((s-i)//2):
- print('\t', end='')
- for j in range(i+1):
- if i % 2 == 1:
- print(" ", end='')
- print(triangle[i][j], end='\t')
- print()
复制代码
这段代码可以打印出任意阶数的杨辉三角。它首先通过输入获得杨辉三角的阶数 s,然后创建一个 s×s 的二维列表 triangle,并将所有元素初始化为 0。接下来,根据杨辉三角的规律,将左右两边的元素赋值为 1。然后使用循环计算剩余部分的数值,每个数值等于其上方两个数值之和。最后,通过嵌套循环按照规定格式输出杨辉三角。
希望这段代码能满足你的需求!如果有任何问题,请随时提问。 |
|