# -*- coding: utf-8 -*- def triangles():
n=0
while 1:
if n==0:
L=[1]
yield L
elif n==1:
L1=[1,1]
yield L1
elif n>1: #从第三个list开始中间的元素才是上一个list相邻两个元素之和,所以这里分为三个部分
L2=[L1[i]+L1[i+1] for i in range(len(L1)-1)] #除了左右两边元素之外,每一个元素的值是上一个list两个元素值相加,这里的+是将每一个循环内的元素相加成为一个L2内的一个元素,一次或多次循环组成L2
L1=[1]+L2+[1] #加上左右[1]
n+=1
#借上面一个大佬启发,试着不用L = [0] + L + [0],因为真的没想到还能这么操作,按照自己的理解写的,这次想了很久,学编程还是任重道远啊
Sign in to make a reply
Dream-and-Freedom
n=0
while 1:
if n==0:
L=[1]
yield L
elif n==1:
L1=[1,1]
yield L1
elif n>1: #从第三个list开始中间的元素才是上一个list相邻两个元素之和,所以这里分为三个部分
L2=[L1[i]+L1[i+1] for i in range(len(L1)-1)] #除了左右两边元素之外,每一个元素的值是上一个list两个元素值相加,这里的+是将每一个循环内的元素相加成为一个L2内的一个元素,一次或多次循环组成L2
L1=[1]+L2+[1] #加上左右[1]
yield L1
n+=1
#借上面一个大佬启发,试着不用L = [0] + L + [0],因为真的没想到还能这么操作,按照自己的理解写的,这次想了很久,学编程还是任重道远啊