我试图理解为什么会发出此错误,我尝试重新格式化代码并检查是否有任何错误,但我仍然无法获得正确的答案
n=int(input("Enter the number of rows: "))
m=[]
for i in range(2*n-1):
m.append([])
m[i].append(1)
for j in range (1,i):
m[i].append(m[i-1][j-1]+m[i-1][j])
if n != 0:
m[i].append(1)
pTr = []
for i in range(n):
row = []
for j in range(i,n+1):
row.enter code hereappend(m[j][i])
pTr.append(row)
print("The pascal matrix is as shown below")
for i in range(n):
for j in range(n):
print("{0:6}".format(pTr[i][j]), end=" ")
print()
答案 0 :(得分:0)
您正在尝试打印n
行Pascal三角形。
但是,您的输出循环坚持要在三角形的每一行中找到n
个元素。一旦碰到较短的行,它就会崩溃。
简单的print
跟踪显示错误:
print("The pascal matrix is as shown below", pTr)
n = 4的输出(分成几行):
[
[1, 1, 1, 1, 1],
[1, 2, 3, 4],
[1, 3, 6],
[1, 4]
]
当您坚持只打印只有3个元素的列表中的4个元素时,您的代码就会崩溃。