Discuss / Python / 我真的是个废材,,写了足足1个小时才写对,再去看评论,大佬的写法直接来个降维打击,我是不是不适合写代码?

我真的是个废材,,写了足足1个小时才写对,再去看评论,大佬的写法直接来个降维打击,我是不是不适合写代码?

Topic source

def triangles():

    L = [1]

    n = 0    #从第0行开始算

    yield L   #第0行加进去

    while n < 10:                 #输出前10行元素

        n = n + 1                 #第1行(注意我是从第0行开始算)

        S = []                    #临时变量,进行新一行的存储

        for i in range(n + 1):    #这里一定注意不能是range(n),例如此时n = 1,那么就是range(1),只生成0,会造成接下来的下标越界

            if(i == 0 or i == n):

                S.insert(i, 1)    #首尾两元素为1

            else:

                S.insert(i, L[i - 1] + L[i])   #注意下标,第一次写成了L[i] + L[i+1],造成了越界

        L = S

        yield L     #一轮结束,中断

    return 'done'


  • 1

Reply