Pascal三角形变化的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pascal三角形变化的问题相关的知识,希望对你有一定的参考价值。
我正在尝试制作Pascal三角形的变体。我目前拥有的是下面的代码,它将产生一个帕斯卡的三角形,如下所示:
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("")
答案
只需返回第二个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))
另一答案
将最后一个print()语句替换为:
print(*([0]*(n-r-1)),sep=" ")
以上是关于Pascal三角形变化的问题的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode#118. Pascal's Triangle(杨辉三角)
119 Pascal's Triangle II 帕斯卡三角形 II Pascal's Triangle II