1.输出n层正方形二维列表,每层数字相同
l1=[]
n=int(input('请输入层数'))
for i in range(2*n-1):
l1.append([])
for j in range(2*n-1):
l1[i].append(0)
for k in range(1,n+1): # 控制打印几个二维列表
for i in range(k-1,2*n-k): # 打印一个二维列表
for j in range(k-1,2*n-k):
l1[i][j]=k
for i in range(2*n-1):
for j in range(2*n-1):
print(l1[i][j],end=' ')
print()
# 请输入层数6
# 1 1 1 1 1 1 1 1 1 1 1
# 1 2 2 2 2 2 2 2 2 2 1
# 1 2 3 3 3 3 3 3 3 2 1
# 1 2 3 4 4 4 4 4 3 2 1
# 1 2 3 4 5 5 5 4 3 2 1
# 1 2 3 4 5 6 5 4 3 2 1
# 1 2 3 4 5 5 5 4 3 2 1
# 1 2 3 4 4 4 4 4 3 2 1
# 1 2 3 3 3 3 3 3 3 2 1
# 1 2 2 2 2 2 2 2 2 2 1
# 1 1 1 1 1 1 1 1 1 1 1
2.输出螺旋矩阵。如:
l1 = []
num = 1
for i in range(10):
l1.append([])
for j in range(10):
l1[i].append(0)
n = int(input('请输入螺旋矩阵阶数:'))
for k in range(n // 2 + 1): # 总的循环次数
for j in range(k, n - k): # 上边
l1[k][j] = num
num += 1
for i in range(k + 1, n - k - 1): # 右边
l1[i][n - k - 1] = num
num += 1
for j in range(n - k - 1, k, -1): # 下边
l1[n - k - 1][j] = num
num += 1
for i in range(n - k - 1, k, -1): # 左边
l1[i][k] = num
num += 1
for i in range(n):
for j in range(n):
print('{:3d}'.format(l1[i][j], end=' '))
print()
好文链接
发表评论