请在代码

时间:2018-02-19 19:17:24

标签: python arrays python-3.x

n=int(input("Enter number of rows: "))
a=[]
for i in range(n):
    a.append([])
    a[i].append(1)
    for j in range(1,i):
        a[i].append(a[i-1][j-1]+a[i-1][j])
    if(n!=0):
        a[i].append(1)
for i in range(n):
    print("   "*(n-i),end=" ",sep=" ")
    for j in range(0,i+1):
        print('{0:6}'.format(a[i][j]),end=" ",sep=" ")
    print()

我的问题: 1 - 请解释第7行的附加索引(我没有说明它试图用a[i-1][j-1]+a[i-1][j]说明什么

2 - 为什么我们需要在结尾处打印空白? print()

1 个答案:

答案 0 :(得分:1)

显然,这段代码生成了pascal三角形的ASCII版本。

example (client lib(js)) - app.controller('LoginCtrl',
  function ($scope) {});

1)。这里的代码:

$ python3 testing.py
Enter number of rows: 5
                     1 
                  1      1 
               1      2      1 
            1      3      3      1 
         1      4      6      4      1 

将第一行第一列数字与第一行 - 第二列数字相加,以生成pascal的三角形。

2)。这句话在这里:

a[i-1][j-1]+a[i-1][j] 

打印换行符。