题解 | #蛇形矩阵#
蛇形矩阵
https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
#思路
#1.先得出第一行
#2.后续的行里面数字都是上一行去掉首个字符后,每个数字-1而得
#需要观察三角形规律
n = int(input())
res = [] #创建一个放所有结果的空列表
a = [1] #创建第一行
for i in range(1,n): #第一行规律:后一个数字是前一个数字+i+1;数字个数范围为n
a.append(a[i-1]+i+1) #这里要注意 a列表里存储的都是int类型
res.append(a) #添加入结果列表
# print(res)
for row in range(1,n): #处理后续行的数字
line = [] #每次循环新建空列表
for colum in range(n-row): #里面数字都是上一行去掉首个字符后,每个数字-1而得;上面已经处理了第一行所以后续行就可以退镀那出来
num = int(res[row-1][colum+1])-1
line.append(num)
# print(line)
res.append(line) #每算完一行则添加进结果列表
#输出部分也搞了很久,主要是用.join不能输出有int的列表,一直报错;查了一下资料,需要使用以下方法
for i in res:
print(" ".join('%s' %id for id in i))