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()
答案 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]
打印换行符。