[英]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.