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'
Sign in to make a reply
不长到140斤不改名字
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'