python杨辉三角代码_使用python生成杨辉三角形的示例代码

杨辉三角杨辉 定义如下:

1

/ \

1 1

/ \ / \

1 2 1

/ \ / \ / \

1 3 3 1

/ \ / \ / \ / \

1 4 6 4 1

/ \ / \ / \ / \ / \

1 5 10 10 5 1

把每一行看做一个list,试写一个generator,不断输出下一行的list:

def triangles():

L = [1]

while True:

yield L

M=L[:]#复制一个list,这样才不会影响到原有的list。不然results里的每个列表的末尾会为0.

M.append(0)

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

n =0

results = []

for t in triangles():

print(t)

results.append(t)

print(results)

n = n +1

if n == 10:

break

ps:如何实现心

def printlove(start,length,midnumber=0,flag=31):

for i in range(31):

if istart+length-1 and i<15-(midnumber-1)/2 or i>15+(midnumber-1)/2 and i<31-start-length or i> 30-start or i==flag:

print " ",

else:

print "*",

print ""

for i in range(16):

if i ==0:

printlove(4,3)

elif i==1:

printlove(1,9)

elif i>=2 and i<=5:

printlove(0,i+10)

elif i==6:

printlove(1,7,7,15)

elif i>=7 and i<=8:

printlove(i-5,6,5-(i-7)*2)

elif i==9:

printlove(5,6,1)

elif i==10:

printlove(8,6,1)

elif i==15:

printlove(15,1,1)

else:

printlove(i-1,16-i,1)

实现的效果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2018-08-27

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值