generator,杨辉三角

# -*- coding: utf-8 -*-

“””

Created on Tue Jun 26 17:18:23 2018

@author: Administrator

“””

def triangles():

    L = [1]

    while (True):

        yield L

        L= [(L + [0])[i] + ([0] + L)[i] for i in range(len(L)+1)]  # 两边补0

        

# 期待输出:

# [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():

    print(t)

    results.append(t)

    n = n + 1

    if n == 10:

        break

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(‘测试失败!’)

    原文作者:杨辉三角问题
    原文地址: https://blog.csdn.net/qq_21210467/article/details/80818265
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞