python基礎練習題(題目 打印出楊輝三角形前十行。)


day38

---------------------------------------------------------------

實例061:楊輝三角

題目 打印出楊輝三角形前十行。

分析:查了一下,楊輝三角規律,每行多一個數,每行的值等於上一行相鄰的值相加,其中邊角值可以看為0,即一直為1,所以可以用列表套列表來做

 代碼如下:

for i in range(1,10):
    for k in range(10-i):
        print("  ", end="")
    print(b)
    c = b.copy()
    b.clear()
    for j in range(len(c)+1):
        if j==0 or j ==len(c):
            b.append(a[0]+c[0])
        else:
            b.append(c[j]+c[j-1])

 看看答案:

def generate(numRows):
    r = [[1]]
    for i in range(1,numRows):
        r.append(list(map(lambda x,y:x+y, [0]+r[-1],r[-1]+[0])))
    return r[:numRows]
a=generate(10)
for i in a:
    print(i)

看了半天才看懂,是先生成兩個列表,再由map調用lamba表達式把兩個列表相加,得到下一行列表,點贊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM