哪位大佬帮忙看下杨辉三角哪里出错了

n = int(input())

list1 = [[1],[1,1]]
for i in range(0,n-2):
    list2 = [1]
    for j in range(i):
        list2.append(list1[-1][j]+list1[-1][j+1])
    list2.append(1)
list1.append(list2)
print(list1)

 

从哪抄的吧

n = int(input())

list1 = [[1],[1,1]]
for i in range(2,n):
    list2 = [1]
    for j in range(i-1):
        list2.append(list1[i-1][j]+list1[i-1][j+1])
    list2.append(1)
    list1.append(list2)
print(list1)

二个问题

1)排版问题,把每行数据list2放进list1时你这个排版只放了一次

2)循环i的时候因为你默认添加了前两行的数据,所以不应该从0开始了

第一:list1.append(list2)需要缩进,要在for循环中(不然list1[-1]一直都是[1,1])

第二:for i in range(0,n-2):应该有问题,当i=0时,循环语句中的for j in range(i):就不会执行

下面的代码是我在你的代码上进行修改的

n = int(input())
 
list1 = [[1],[1,1]]
for i in range(1,n-1):
    list2 = [1]
    for j in range(i):
        list2.append(list1[-1][j]+list1[-1][j+1])
    list2.append(1)
    list1.append(list2)
for i in range(n):
    print(list1[i])

我也是python新手,希望我的答案可以帮到你,加油

太感谢了就是缩进错了,脑子没转过来hhh

还有那个循环没有错,因为我找上一行的时候没有用i当索引,用的是list1[-1],所以i只是计数用的

十分感谢,太开心了哈哈哈