码迷,mamicode.com
首页 > 其他好文 > 详细

杨辉三角实现

时间:2017-07-03 19:58:18      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:yield   odi   函数   code   break   ast   函数名   line   range   

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

def triangles():
    line = [1]
    while True:
        yield line
        line = [x + y for x, y in zip([0] + line, line + [0])]

n = 0
for t in triangles():
    print(t)
    n = n + 1
    if n == 10:
        break

2

def triangles1(): # 杨辉三角形 L = [1] while True: yield L L = [1] + [L[n] + L[n-1] for n in range(1, len(L))] + [1]

def triangles2(): # 杨辉三角形 L = [1] while True: yield L L = [L[n - 1] + L[n] for n in range(len(L))]

def triangles3(): # 杨辉三角形 L = [1] while True: yield L for n in range(1, len(L)): L[n] = pre[n] + pre[n - 1] L.append(1) pre = L[:]

n = 0 for t in triangles1(): # 直接修改函数名即可运行 print(t) n = n + 1 if n == 10: break

3

def triangles():
i = 1
L = [1]
while True:
yield L
L = [0] + L + [0]
L = [L[s]+L[s+1] for s in range(i+1)]
i += 1
n = 0
for t in triangles():
print(t)
n += 1
if n == 10:
break

 

 

4

 

 


def triangles():
    l = []
    while True:
        last = 0
        lr = []
        for i in l:
            lr.append(last + i)
            last = i
        lr.append(1)
        l = lr
        yield lr

杨辉三角实现

标签:yield   odi   函数   code   break   ast   函数名   line   range   

原文地址:http://www.cnblogs.com/cranx/p/7112713.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!