鱼C论坛

 找回密码
 立即注册
查看: 3318|回复: 12

24讲动动手杨辉三角

[复制链接]
发表于 2022-3-8 16:46:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
triangle = [[None]]
for i in range(9):
        for j in range(i+1):
                if j < 1or j==i:
                    triangle[i][j]==1
                else:
                        triangle[i][j] == triangle[i-1][j-1] + triangle[i-1][j]
                print(triangle)                        
              
这是我输入的代码,运行结果如下
[[None]]
Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\杨辉三角形.py", line 5, in <module>
    triangle[i][j]==1
IndexError: list index out of range
超出列表范围,但不知道怎么改,求大佬给看看,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-3-8 16:48:25 | 显示全部楼层
你在迭代时列表 triangle 里都只有一个元素,应该是设置有 9 项列表的二维列表!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-8 16:49:43 | 显示全部楼层
你在迭代时列表 triangle 里都只有一个元素,应该是设置有 9 项列表的二维列表!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-8 16:50:15 | 显示全部楼层
本帖最后由 python爱好者. 于 2022-3-8 16:51 编辑

你在迭代时列表 triangle 里都只有一个元素,应该是设置有 9 项列表的二维列表!
希望能发出去
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-3-8 16:51:02 | 显示全部楼层
python爱好者. 发表于 2022-3-8 16:50
怎么发不出去???

你在迭代时列表 triangle 里都只有一个元素,应该是设置有 9 项列表的二维列表!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-8 16:52:24 From FishC Mobile | 显示全部楼层
你得先初始化一个9*9 或更多的列表嵌套来模拟数组

评分

参与人数 1鱼币 +5 收起 理由
python爱好者. + 5 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-3-8 16:54:14 | 显示全部楼层
你在迭代时列表 triangle 里都只有一个元素,应该是设置有 9 项列表的二维列表!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-8 16:54:55 | 显示全部楼层
wp231957 发表于 2022-3-8 16:52
你得先初始化一个9*9 或更多的列表嵌套来模拟数组

怎么样初始化呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-8 16:55:07 | 显示全部楼层
舍侠 发表于 2022-3-8 16:54
怎么样初始化呢?

你在迭代时列表 triangle 里都只有一个元素,应该是设置有 9 项列表的二维列表!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-8 19:26:55 | 显示全部楼层
本帖最后由 jackz007 于 2022-3-8 19:31 编辑
  1. #coding:gbk

  2. def yang(n):
  3.     r = []
  4.     for i in range(n):
  5.         r . append([])
  6.         r[i] . append(1)
  7.         if i > 0:
  8.             for j in range(1 , i):
  9.                 r[i] . append(r[i - 1][j - 1] + r[i - 1][j])        
  10.             r[i] . append(1)
  11.     return r
  12. for x in yang(int(input('输入 n : '))):
  13.     print(x)
  14. input('按下回车键 . . .')
复制代码

    运行实况:
  1. D:\[00.Exerciese.2022]\Python>python yang.py
  2. 输入 n : 12
  3. [1]
  4. [1, 1]
  5. [1, 2, 1]
  6. [1, 3, 3, 1]
  7. [1, 4, 6, 4, 1]
  8. [1, 5, 10, 10, 5, 1]
  9. [1, 6, 15, 20, 15, 6, 1]
  10. [1, 7, 21, 35, 35, 21, 7, 1]
  11. [1, 8, 28, 56, 70, 56, 28, 8, 1]
  12. [1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
  13. [1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1]
  14. [1, 11, 55, 165, 330, 462, 462, 330, 165, 55, 11, 1]
  15. 按下回车键 . . .
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-3-8 21:12:33 | 显示全部楼层
来学习代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-3-9 08:15:16 | 显示全部楼层

这个好,可是还没学习def,题目要求代码不能超纲,哈哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-9 10:03:58 | 显示全部楼层
舍侠 发表于 2022-3-9 08:15
这个好,可是还没学习def,题目要求代码不能超纲,哈哈
  1. #coding:gbk

  2. n = int(input('输入 n : '))
  3. d = []
  4. for i in range(n):
  5.     d . append([])
  6.     d[i] . append(1)
  7.     if i > 0:
  8.         for j in range(1 , i):
  9.             d[i] . append(d[i - 1][j - 1] + d[i - 1][j])        
  10.         d[i] . append(1)
  11. for x in d:
  12.     print(x)
  13. input('按下回车键 . . .')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 18:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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