我正在尝试制作帕斯卡三角形的变体。我目前拥有的是下面的代码,它将产生一个帕斯卡的三角形,如下所示:
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("")
答案 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=" ")