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()

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: