博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 用列表生成器 打印杨辉三角
阅读量:4215 次
发布时间:2019-05-26

本文共 955 字,大约阅读时间需要 3 分钟。

廖雪峰 python教程 

生成器章节,有一道杨辉的题目。

定义如下:

1        1   1      1   2   1    1   3   3   1  1   4   6   4   11   5   10  10  5   1

def triangles():    result = [1]    n = 0    while n < 20:        yield result        l = list(result)        l.append(0)        print(l)        result = [l[i] + l[i - 1] for i in range(len(l))]        n = n + 1    return 'done'
这里展示了 每一次的l(末尾添加0为了放便计算下一行 例如 l[-1] + l[0] = 0 + 1 = 1)
[1]
[1, 0]
[1, 1]
[1, 1, 0]
[1, 2, 1]
[1, 2, 1, 0]
[1, 3, 3, 1]
[1, 3, 3, 1, 0]
[1, 4, 6, 4, 1]
[1, 4, 6, 4, 1, 0]
[1, 5, 10, 10, 5, 1]

测试数据:

n = 0results = []for t in triangles():    print(t)    results.append(t)    n = n + 1    if n == 10:        breakif 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('测试失败!')

转载地址:http://ihimi.baihongyu.com/

你可能感兴趣的文章
pm 源码分析
查看>>
Sending the User to Another App
查看>>
kmsg_dump
查看>>
Getting a Result from an Activity
查看>>
Allowing Other Apps to Start Your Activity
查看>>
dev/mem
查看>>
pfn_valid 源码分析
查看>>
dev/kmem 和dev/mem的区别
查看>>
checkbox
查看>>
Sending Simple Data to Other Apps
查看>>
Receiving Simple Data from Other Apps
查看>>
中断API之__tasklet_schedule
查看>>
中断API之enable_irq
查看>>
中断API之disable_irq
查看>>
nova 中的guestfs
查看>>
nova中的localfs
查看>>
utils/rpm_build.sh
查看>>
查看模块参数
查看>>
udev重命名网口
查看>>
pgrep
查看>>