簡體   English   中英

我的輸出與我需要的不匹配我該如何解決這個問題?

[英]My out put doesn't match the one i need how can I fix this?

我必須在 python 中編寫一個程序,打印出一個十行的帕斯卡三角形,這就是我目前所擁有的

def combination(n, k):

    if k == 0 or k == n:
        return (str(1))
    else:
        return ( str ((n-1)+(n-1)) )

def pascals_triangle(rows):
    
   for row in range(rows):
        answer = ""
        for column in range(row + 1):
            answer = answer + combination(row, column) + "\t"
        print(answer)

pascals_triangle(10)

我得到的輸出是

1
1 1
1 2 1
1 4 4 1
1 6 6 6 1
1 8 8 8 8 1
1 10 10 10 10 10 1
1 12 12 12 12 12 12 1
1 14 14 14 14 14 14 14 1
1 16 16 16 16 16 16 16 16 1

但我需要的輸出是

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1

我怎樣才能解決這個問題

def pascals_triangle(rows):
    if rows == 1:
        print(1)
        return [1]

    prev = pascals_triangle(rows-1)

    curr_row = [1] + [x+y for x, y in zip(prev[:-1], prev[1:])] + [1]

    for el in curr_row:
        print(el, ' ', end='')
    print()

    return curr_row

pascals_triangle(10)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM