python 杨辉三角方法的实例介绍


本文摘自php中文网,作者零下一度,侵删。

程序输出需要实现如下效果:

1

2

3

4

[1]

[1,1]

[1,2,1]

[1,3,3,1]

......

方法:迭代,生成器

1

2

3

4

5

6

7

8

9

10

11

def triangles()

    L = [1]

    while True:

        yiled L

        L =[1] + [L[i] + L[I+1] for i in range(len(L)-1)] + [1]

n = 0

for t in triangles():

    print(t)

    n += 1

    if n == 10:

        break

实现逻辑:

1.由于yield为生成器中断输出,所以有了第一个次输出为[1]

2.继续while下面的yield后的循环,此时list长度为1,将其代入L中的len(L),得出[L[i]+L[i+1] for i in range(1-1)]得出为空值,所以yield L输出为[1,1]

3.此时len(L)值为2,代入得出[L[i]+L[i+1] for i in range(2-1)]为[L[i]+L[i+1] for i in range(1)],i能取值为0,代入后为[L[0]+L[1]],而L[0]和L[1]的值均为1(有上面结果可知),所以输出结果为[1,2,1]

4.由第三条可知此时len(L)值为3,代入得出[L[i]+L[i+1] for i in range(2)],i取值为0和1,通过循环输出有两个值,均为3,分别由[L[0]+L[1]],[L[1]+L[2]]

以上就是python 杨辉三角方法的实例介绍的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python怎么下载

Python适合做什么开发?

一起看看Python 中日志异步发送到远程服务器

Python入门必须知道的11个知识点_Python

Python获取当前时间

学习Python能做什么

Python中+=连用是什么意思

Python编程工具有哪些

Python怎么用for循环

unity3d能用Python写吗

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...