舍侠 发表于 2022-3-8 16:46:05

24讲动动手杨辉三角

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

python爱好者. 发表于 2022-3-8 16:48:25

你在迭代时列表 triangle 里都只有一个元素,应该是设置有 9 项列表的二维列表!

python爱好者. 发表于 2022-3-8 16:49:43

你在迭代时列表 triangle 里都只有一个元素,应该是设置有 9 项列表的二维列表!

python爱好者. 发表于 2022-3-8 16:50:15

本帖最后由 python爱好者. 于 2022-3-8 16:51 编辑

你在迭代时列表 triangle 里都只有一个元素,应该是设置有 9 项列表的二维列表!
希望能发出去{:10_331:}

python爱好者. 发表于 2022-3-8 16:51:02

python爱好者. 发表于 2022-3-8 16:50
怎么发不出去???

你在迭代时列表 triangle 里都只有一个元素,应该是设置有 9 项列表的二维列表!

wp231957 发表于 2022-3-8 16:52:24

你得先初始化一个9*9 或更多的列表嵌套来模拟数组

python爱好者. 发表于 2022-3-8 16:54:14

你在迭代时列表 triangle 里都只有一个元素,应该是设置有 9 项列表的二维列表!

舍侠 发表于 2022-3-8 16:54:55

wp231957 发表于 2022-3-8 16:52
你得先初始化一个9*9 或更多的列表嵌套来模拟数组

怎么样初始化呢?

python爱好者. 发表于 2022-3-8 16:55:07

舍侠 发表于 2022-3-8 16:54
怎么样初始化呢?

你在迭代时列表 triangle 里都只有一个元素,应该是设置有 9 项列表的二维列表!

jackz007 发表于 2022-3-8 19:26:55

本帖最后由 jackz007 于 2022-3-8 19:31 编辑

#coding:gbk

def yang(n):
    r = []
    for i in range(n):
      r . append([])
      r . append(1)
      if i > 0:
            for j in range(1 , i):
                r . append(r + r)      
            r . append(1)
    return r
for x in yang(int(input('输入 n : '))):
    print(x)
input('按下回车键 . . .')
    运行实况:
D:\\Python>python yang.py
输入 n : 12












按下回车键 . . .

tomok 发表于 2022-3-8 21:12:33

来学习代码

舍侠 发表于 2022-3-9 08:15:16

jackz007 发表于 2022-3-8 19:26
运行实况:

这个好,可是还没学习def,题目要求代码不能超纲,哈哈

jackz007 发表于 2022-3-9 10:03:58

舍侠 发表于 2022-3-9 08:15
这个好,可是还没学习def,题目要求代码不能超纲,哈哈

#coding:gbk

n = int(input('输入 n : '))
d = []
for i in range(n):
    d . append([])
    d . append(1)
    if i > 0:
      for j in range(1 , i):
            d . append(d + d)      
      d . append(1)
for x in d:
    print(x)
input('按下回车键 . . .')
页: [1]
查看完整版本: 24讲动动手杨辉三角