def triangles():
tri = [1]
m = 1
while True:
yield list(tri) #之前总是测试错误,后来尝试了一下取list就好了。感觉应该是之前tri指向的内容会发生改变(因为我的函数定义问题),而这里需要得到一个固定值
tri.append(1) #思路就是因为每一行都比上一行多一个,那就在末尾添加上‘1’,再将前面的(除第一个‘1’以外和刚刚添加的‘1’以外)每一个元素重新赋值
i = 1
while i < m:
tri[m-i] = tri[m-i-1] + tri[m-i] #本来是正着顺序来的,但是会被覆盖,影响继续循环的正确结果,所以就反过来了,一个道理
i = i + 1
m = m + 1
Sign in to make a reply
11点提前睡觉
def triangles():
tri = [1]
m = 1
while True:
yield list(tri) #之前总是测试错误,后来尝试了一下取list就好了。感觉应该是之前tri指向的内容会发生改变(因为我的函数定义问题),而这里需要得到一个固定值
tri.append(1) #思路就是因为每一行都比上一行多一个,那就在末尾添加上‘1’,再将前面的(除第一个‘1’以外和刚刚添加的‘1’以外)每一个元素重新赋值
i = 1
while i < m:
tri[m-i] = tri[m-i-1] + tri[m-i] #本来是正着顺序来的,但是会被覆盖,影响继续循环的正确结果,所以就反过来了,一个道理
i = i + 1
m = m + 1