鱼C论坛

 找回密码
 立即注册
查看: 3297|回复: 11

[已解决]输出杨辉三角的代码,可以输入阶数,但是输出杨辉三角的地方有点问题,求助

[复制链接]
发表于 2023-8-2 10:50:35 | 显示全部楼层
打印任意阶数的杨辉三角
  1. s = int(input("请输入杨辉三角的阶数:"))
  2. print(s, "阶杨辉三角如下:")
  3. # 创建一个s*s的二维列表,并将所有的元素初始化为0
  4. triangle = []
  5. for i in range(s):
  6.     triangle.append([])
  7.     for j in range(s):
  8.         triangle[i].append(0)
  9. # 计算杨辉三角
  10. # 根据观察可以发现,杨辉三角左右两边的元素均为1
  11. for i in range(s):
  12.     triangle[i][0] = 1
  13.     triangle[i][i] = 1
  14. # 第i行j列的值 = 第(i-1)行(j-1)列的值 + 第(i-1)行(j)列的值
  15. for i in range(2, s):
  16.     for j in range(1, i):
  17.         triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j]
  18. # 输出杨辉三角
  19. for i in range(s):
  20.     for k in range((s-i)//2):
  21.         print('\t', end='')
  22.     for j in range(i+1):
  23.         if i % 2 == 1:
  24.             print("   ", end='')
  25.         print(triangle[i][j], end='\t')
  26.     print()
复制代码

这段代码可以打印出任意阶数的杨辉三角。它首先通过输入获得杨辉三角的阶数 s,然后创建一个 s×s 的二维列表 triangle,并将所有元素初始化为 0。接下来,根据杨辉三角的规律,将左右两边的元素赋值为 1。然后使用循环计算剩余部分的数值,每个数值等于其上方两个数值之和。最后,通过嵌套循环按照规定格式输出杨辉三角。

希望这段代码能满足你的需求!如果有任何问题,请随时提问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-19 04:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表