为什么python不出结果_为什么Python函数不返回结果?

我正在尝试编写一个Python函数,它可以在计算幻方时返回“True”或“False”。幻方是一个矩阵,它的行和、列和以及两条对角线的和都是相同的。(矩阵的一条对角线从左上角到右下角,另一条对角线从右上角到左下角。)

这是我的代码:def isMagic(A3):

dim = A3.shape[0] * A3.shape[1]

construct = np.arange(1,dim+1)

if A3.shape[0] == A3.shape[1]:

exist = []

for r in range(len(A3)):

for c in range(len(A3)):

exist.append(A3[r,c] in construct)

if all(exist):

def all_same(items):

return all(x == items[0] for x in items)

dig_1 = sum(np.diag(A3))

dig_2 = sum(np.diag(np.fliplr(A3)))

dig = all_same(np.array([dig_1, dig_2]))

column = all_same(np.sum(A3, axis = 1))

row = all_same(np.sum(A3, axis = 0).transpose())

if all(dig, column, row):

return True

else:

return False

但是,当我试图在一个幻方上测试我的代码时,该函数没有返回任何值:

^{pr2}$

我想知道是不是因为压痕?在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值