|  | 
 
| 
1
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  / \
 1   1
 / \ / \
 1   2   1
 / \ / \ / \
 1   3   3   1
 / \ / \ / \ / \
 1   4   6   4   1
 / \ / \ / \ / \ / \
 1   5   10  10  5   1
 把每一行看做一个list,试写一个generator,不断输出下一行的list:
 
 # -*- coding: utf-8 -*-
 
 def triangles():
 此处写代码,没思路!!
 
 
 
 # 期待输出:
 # [1]
 # [1, 1]
 # [1, 2, 1]
 # [1, 3, 3, 1]
 # [1, 4, 6, 4, 1]
 # [1, 5, 10, 10, 5, 1]
 # [1, 6, 15, 20, 15, 6, 1]
 # [1, 7, 21, 35, 35, 21, 7, 1]
 # [1, 8, 28, 56, 70, 56, 28, 8, 1]
 # [1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
 n = 0
 results = []
 for t in triangles():
 results.append(t)
 n = n + 1
 if n == 10:
 break
 
 for t in results:
 print(t)
 
 if results == [
 [1],
 [1, 1],
 [1, 2, 1],
 [1, 3, 3, 1],
 [1, 4, 6, 4, 1],
 [1, 5, 10, 10, 5, 1],
 [1, 6, 15, 20, 15, 6, 1],
 [1, 7, 21, 35, 35, 21, 7, 1],
 [1, 8, 28, 56, 70, 56, 28, 8, 1],
 [1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
 ]:
 print('测试通过!')
 else:
 print('测试失败!')
 
复制代码def triangles():
        res = []
        while True:
                if len(res) < 2:
                        res.append(1)
                else:
                        temp = [1]
                        for i in range(1, len(res)):
                                temp.append(res[i] + res[i-1])
                        temp.append(1)
                        res = temp
                yield res
for n, i in enumerate(triangles()):
        if n > 10: # 预设想输出多少行,不然无限输出
                break
        print(i)
 | 
 |