关于python生产器(杨辉三角)

杨辉三角定义如下:

          1
         / \
        1   1
       / \ / \
      1   2   1
     / \ / \ / \
    1   3   3   1
   / \ / \ / \ / \
  1   4   6   4   1
 / \ / \ / \ / \ / \
1   5   10  10  5   1

今天小小白复习生成器,(后面还有关于拷贝的坑)

刚好在通过廖老师来复习,就做了一下廖老师留的课后题

我是用了两个列表来实现的,一个来记录上一次的列表,另一个来改变

def fuc():
    n=0
    result=[]
    a=[]
    while n<10:
        result.append(1)
        a=result.copy()#此处应该为拷贝(复制一份)  不能直接a=result这样a会跟着result改变
        if len(result)>=3:
            print(a)
            for i in range(1,len(result)-1):
                result[i]=a[i]+a[i-1]
                print(result)
        n+=1
        yield result
至于深浅拷贝的问题可参考这篇文章https://www.cnblogs.com/pyramid1001/p/5844905.html

猜你喜欢

转载自blog.csdn.net/qq_40879809/article/details/80217231