python写杨辉三角形的规律_Python实现杨辉三角的几种形式

境界一、这个非常直接和苍白,值得注意的是对象之间的引用与复制,要确定是否只是引用的改变或者是否在内存堆中创建实体的副本。L = t 就是引用的拷贝,而L = t.copy()是内容级别的较深的拷贝。

def yanghui(max):

t = [1]

n = 1

while n

print(t)

if n>0:

L = t.copy()

for i in range(1,len(t)):

L[i] = t[i]+t[i-1]

L.append(1)

t = L

n= n+1

return 'done'

境界二、这里面使用到了yield,将这个函数表达成为了一个生成器。

def yanghuiG(max):

t = [1]

n = 1

while n

yield t

if n>0:

L = t.copy()

for i in range(1,len(t)):

L[i] = t[i]+t[i-1]

L.append(1)

t = L

n = n + 1

return 'done'

境界三、当t = [1]时,for i in range(len(t) – 1)]实际上是for i in range(0), 这时i是一个空list,就不会返回i,会自动跳出第一次循环,直接执行下一行语句

def yanghuiG3(max):

t = [1]

n= 0

while n

yield t

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

t.insert(0, 1)

t.append(1)

n = n + 1

return 'done'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值