Discuss / Python / 颓废的一天

颓废的一天

Topic source

青年小哲

#1 Created at ... [Delete] [Delete and Lock User]

严重打击自信心了,最近三天的题里面,我几乎都不会做。这个杨辉三角的题目我看到最后只看出来了要使用前面一个 [1] 和后面的一个 [1] 要另行添加,其他的元素都要通过上面的一个 list 元素去计算,计算的公式是第 n 行的第 i 给元素等于 n-1 行的第 i-1 个加上 i 个。但是就是不会算了。

def triangles():
    n = [1]
    while True:
        yield n
        n = [1] + [n[i]+n[i+1] for i in range(len(n)-1)] + [1]

我也是,看别人写的代码可以理解过来,但是让自己写又写不出来

飞页快刀

#3 Created at ... [Delete] [Delete and Lock User]

+1,和上学时考数学一样,怎么憋都做不出来,悟性就这么点......

c浪费时光

#4 Created at ... [Delete] [Delete and Lock User]

还是没理解  第二个元素是怎么算出来的  算第二个元素的时候为什么不报错?因为当时len(n)-1等于零,因为不存在n[1]啊

木森林A02

#5 Created at ... [Delete] [Delete and Lock User]

楼上大兄弟,我也没想明白?你想明白了吗

len(n)-1=0  range(0) 为空集 相当于[]  所以

 [n[i]+n[i+1] for i in range(len(n)-1)]

这个也为空,[1]+[]+[1] = [1,1]


  • 1

Reply