|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- """打印一个任意阶数的杨辉三角"""
- 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()
复制代码
本帖最后由 tommyyu 于 2023-8-2 11:12 编辑
- """打印一个任意阶数的杨辉三角"""
- 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 s % 2 + i % 2 == 1:
- print(" ", end='')
- print(triangle[i][j], end='\t')
- print()
复制代码只需要改动 29 行的判断条件即可。
|
|