一.

def feb(n):
    line=[1]
    list=[1,1]
    print '\t'*(n-1),
    print line[0]
    for i in range(n-1):
        new_list = list
        new_list.append(list[i]+list[i+1])
        list = new_list
        line_new = [1]
        for j in range(i):
            line_new.append(line[j]+line[j+1])
        line = line_new
        line.append(1)
        print '\t'*(n-i-2),
        for item in line:
            print item,'\t\t',
        print list[i]

二.

#!/usr/bin/python
#encoding:utf-8

def feb(n):
    list = [1]
    a = lambda x, y: x + y
    print n*'\t',list[0]
    for i in range(n):
        list_a = [0] + list
        list_b = list + [0]
        list_new = map(a, list_a, list_b)
        print '\t'*(n-i-1),
        for each in list_new:
            print each,2*'\t',
        print '\n'
        list = list_new

feb(8)

三.生成器

#! /usr/bin/python
# encoding:utf-8

def feb():
    list=[1]
    while True:
        yield list
        list_new=[]
        for i in range(len(list)-1):
            list_new.append(list[i]+list[i+1])
        list_new.append(1)
        list_new.insert(0,1)
        list=list_new
        if len(list)>10:
            break

f=feb()
for each in f:
    print each

#also can
<pre name="code" class="python">def feb():
    list=[1]
    while True:
        yield list
        list=[list[i]+list[i+1] for i in range(len(list)-1)]
        list.append(1)
        list.insert(0,1)
        if len(list)>10:
            break

f=feb()
for each in f:
    print each
 
 

更多相关文章

  1. 学习python的第十六天(迭代器,三元表达式,列表生成式,字典生成式,
  2. python之迭代器和生成器

随机推荐

  1. 【Android】Conversion to Dalvik format
  2. 匿名类中this的特殊用法(class.this)
  3. Android JNI 之 Bitmap 操作
  4. android的apk包中的xml文件打开方法
  5. android 利用重力感应监测手机摇晃,做出相
  6. robotium获取本地文档内容
  7. AndroidUi(1)-直线
  8. ubuntu 使用android studio 查看android(
  9. Android开发的小细节
  10. MTK 平台(MTK6573)马达驱动