为什么我的布尔值会返回True而它应该是false?

2024-06-16 11:00:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个函数,检查我的方块是不是洛舒魔方。因此,我必须让每一行,每一列,每一条对角线的总和加起来等于同一个数。你知道吗

NUMBERS = [[1,2,3],[4,5,6],[7,8,9]]

def checkMagicBox(box):

  isBool = True
  magicNumber = 0
  for idx in range(3):
    magicNumber += box[idx][idx]
  print(magicNumber)


  totalDiag = 0
  for idx in range(3):
    totalDiag += box[idx][2-idx]
  print(totalDiag)

  isBool = magicNumber == totalDiag

  if isBool:
    for line in range(3):
      print(sum(box[line]))

  if isBool:
    for col in range(3):
      totalCol = 0
      for line in range(3):
        totalCol += box[line][col]
      print(totalCol)

  return isBool

def main():
    print(checkMagicBox(NUMBERS))

main()    

我的问题是,我的函数应该显示为真,而它应该不是真的。你知道吗


Tags: 函数inboxfordeflinerangeprint