Python学习笔记之Python基础综合实践-杨辉三角

本文分享了两种用Python实现杨辉三角的方法。第一种较为复杂,通过循环和列表操作来构建杨辉三角;第二种使用生成器简化了代码,使得实现更为优雅。这两种方法为读者提供了不同的编程思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最开始接触的python的时候,杨辉三角写的复杂:

#杨辉三角

def YangHui(n):
    i = 3
    j = 1
    L_before = [1,1]
    if n < 1:
        print('ERROR!  The number must >= 1')
    elif n == 1:
        print([1])
    elif n == 2:
        print([1])
        print([1,1])

    else:
        print([1])
        print([1,1])
        while i <= n:
            L_now = [ x for x in range(i)]
            L_now[0] = 1
            L_now[i-1] = 1
            while j < i-1:
                L_now[j] = L_before[j-1] + L_before[j]
                j += 1
            i += 1
            j = 1
            L_before = L_now
            print(L_before)


n = int(input('n = '))

YangHui(n)

input('Print any key to exit!')

后来发现,还可以这么实现杨辉三角:

L = [1]
while 1:
    yield L
    L = [1] + [ L[n] + L[n+1] for n in range(len(L)-1) ]  + [1] 

真是相形见绌啊T T

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值