Python 3.x 代码正在运行,但没有显示输出

Python 3.x 代码正在运行,但没有显示输出,python-3.x,Python 3.x,代码正在执行,但未显示输出,也未创建变量 import numpy as np def magicsquares(): n=input('enter the order of squares') n=int(n) m=np.zeros((n,n)) s=n*(n**2+1)/2 #sum of each row or diagonal p=int(n/2) q=(n-1) for i in range(n**2): m[p]

代码正在执行,但未显示输出,也未创建变量

import numpy as np
def magicsquares():
    n=input('enter the order of squares')
    n=int(n)
    m=np.zeros((n,n))
    s=n*(n**2+1)/2 #sum of each row or diagonal
    p=int(n/2)
    q=(n-1)
    for i in range(n**2):
        m[p][q]=1       #assigning postion of 1
        P=p-1
        Q=q+1
        if(i>=2):       #assigning remaining positions
            if(P==-1):
                P=n-1
            if(Q==n):
                Q=0

没有显示输出,因为您只是声明函数,但没有调用函数,并且函数内没有
打印
/
返回
。以下是一个解决方案,您可以使用它查看输出并处理:

import numpy as np

def magicsquares():
    n = input('enter the order of squares')
    n = int(n)
    m = np.zeros((n, n))
    s = n*(n**2+1)/2    # sum of each row or diagonal
    p = int(n/2)
    q = (n-1)
    for i in range(n**2):
        m[p][q] = 1     # assigning postion of 1
        P = p-1
        Q = q+1
        if i >= 2:  # assigning remaining positions
            if P == -1:
                P = n-1
            if Q == n:
                Q = 0
    print(m)

magicsquares()

找到魔方并不是最终的解决方案。它只是代码的更新版本,以便您可以查看输出并处理。

您可以使用
print()
将变量打印到控制台。如果不显式调用
print()
则不会打印任何内容。定义函数后,还需要调用函数
magicsquares()
。因此,在代码末尾添加
magicsquares()