python输出魔方阵
题目:记不清了emm,大概内容是,要求用户输入一个1到9之间的正整数N,然后输出一个边长为2*N-1的方阵。方阵的要求为:最外层元素全是1,次外层元素全为2,再次外层为3...以此类推,方阵最中间那个数为N。
思路:我的思路是首先生成一个边长为2*N-1并且元素全为0的矩阵,然后首先将矩阵元素全部更新为1,接着将矩阵除了第一行第一列最后一行最后一列的元素全更新为2,接着将矩阵除了前两行前两列后两行后两列的元素全更新为2...后面重复此操作直到把最中间那个数更新为N。
代码:
N = int(input('请输入正整数N(1<N<9):'))
l = 2*N-1
t = []
result = []
result = [[0]*l for i in range(l)]
s = 0
k = 0
for i in range(1,N+1):
for j in range(k,l-s):
for z in range(k,l-s):
result[j][z] = i
k = k+1
s = s+1
for a in result:
for b in a:
print(b,end='')
print()
运行结果:

