九宫格算法Python

算法口诀:
一居上行正中央,依次斜填切莫忘;上出框时向下放,右出框时向左放;排重便在下格填,右上排重一个样

import numpy as np
n=int(input("输入是几宫格"))
a=np.zeros((n,n))
if n%2==0:
    print("unknown")
else:
    num=1
    i=0
    j=n//2
    a[i][j]=num       
    while(num=n:
            a[i+1][j]=num
            i=i+1
        elif i-1<0:
            for k in range(n-1,0,-1):
                if a[k][j+1]==0:
                    a[k][j+1]=num
                    i=k
                    j=j+1
                    break
        elif j+1>=n:
            for k in range(n):
                if a[i-1][k]==0:
                    a[i-1][k]=num
                    i=i-1
                    j=k
                    break
        else:
            if a[i-1][j+1]!=0:
                a[i+1][j]=num
                i=i+1
            else:
                a[i-1][j+1]=num
                i=i-1
                j=j+1
print(a)



运行结果:
九宫格算法Python_第1张图片

你可能感兴趣的:(九宫格算法,python)