关于帕斯卡三角形变化的问题

时间:2019-09-28 03:35:41

标签: python

我正在尝试制作帕斯卡三角形的变体。我目前拥有的是下面的代码,它将产生一个帕斯卡的三角形,如下所示:

1 
1 1 
1 2 1 
1 3 3 1 

但是我需要产生这样的内容(用0填充空白点):

1 0 0 0
1 1 0 0
1 2 1 0
1 3 3 1 

我应该如何修改我的代码来实现这一目标? 我的代码如下:

n = int(input("Enter number: "))

def chess(row, col):
    if (col ==1): return 1
    if (col ==row): return 1
    upleft = chess(row - 1, col - 1)
    upright = chess(row-1, col)
    return upleft + upright

for r in range (1, n+1):
    for c in range (1, r+1):
        print (chess(r,c), end = " ")
    print("")

2 个答案:

答案 0 :(得分:0)

只需在返回第二个for循环后添加print ('0 '*(n-r))

您不需要print("")行。

for r in range (1, n+1):
    for c in range (1, r+1):
        print (chess(r,c), end = " ")
    print ('0 '*(n-r))

答案 1 :(得分:0)

将最后一个print()语句替换为:

print(*([0]*(n-r-1)),sep=" ")