在廖雪峰的博客上学习Python的基础,看到生成器章节的时候,有一道练习题要写杨辉三角,就写了一下,可惜没用生成器实现,先记录一下,后续再修改完善;
目前对于Python的理解还不深刻,有些方法写得不够简略,先备注一下,后续再改进。
=================================================
def triangles(num):
L1 = [1,1]
L2 = [1,1]
#打印第一行
print([1])
#打印第二行,后面进入每一行的计算
print(L1)
for t in range(2,num):
x=1
L1.append(1)
L2.append(1)
while x < t:
L2[x] = L1[x] + L1[x-1]
x+=1
#为了不让计算结果影响到当前行的数据,把当前行重新保存一份,这里不可以直接用L1=L2,后面看看还有没有其他方法简化
for y in range(1,t):
L1[y] = L2[y]
print(L1)
#输出1-9行的杨辉三角验证一下是否正确
triangles(9)
=================================================
本文记录了在廖雪峰的Python教程中,尝试解决生成器章节的杨辉三角练习题的过程。作者首先采用非生成器方式实现了杨辉三角的生成,并计划后续改进为生成器实现。文中展示了具体的代码实现细节,包括初始化列表、打印结果和循环计算等步骤。
1033

被折叠的 条评论
为什么被折叠?



