一.
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