数字三角形,用python 做
总是显示程序超出范围
)
f=[]
for i in range(n):
f.append([int(i) for i in input().split()])
#从上而下
for i in range(1,n): #从第二行开始
for j in range(0,i+1):#第i行有i+1个数字
if j == 0:#第0列只能从它正上方转移下来
f[i][j] += f[i-1][j]
elif j == i:#最右边一列只能从它左上方转移下来
f[i][j] += f[i-1][j-1]
else:#其他列从正上方和左上方转移下来
f[i][j] += max(f[i-1][j-1],f[i-1][j])
print(max(f[n-1]),end="")
列表越界了。
lt是手工输入的,长度是n。
第一个for循环,i最大会等于n。
第二个for循环中lt[i][j]会因i=n的时候越界。
望采纳,谢谢!