打印任意阶数的杨辉三角s = int(input("请输入杨辉三角的阶数:"))print(s, "阶杨辉三角如下:")# 创建一个s*s的二维列表,并将所有的元素初始化为0triangle = []for i in range(s): triangle.append([]) for j in range(s): triangle[i].append(0)# 计算杨辉三角# 根据观察可以发现,杨辉三角左右两边的元素均为1for 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。然后使用循环计算剩余部分的数值,每个数值等于其上方两个数值之和。最后,通过嵌套循环按照规定格式输出杨辉三角。
希望这段代码能满足你的需求!如果有任何问题,请随时提问。 |