【发布时间】:2018-06-30 06:35:54
【问题描述】:
我遇到的问题似乎很简单,但我一直在寻找适合我情况的解决方案,但找不到任何东西。基本上我想看看给定的网格是否是一个有效/可解决的数独游戏。我相信我的解决方法是正确的,我已经能够得到一列中所有数字的总和并检查它是否!= 45。我遇到的问题是当我尝试将每个数字相加时,它给了我错误:
TypeError: 'int' 对象不可迭代
我对为什么会收到此错误感到困惑。我还在学习python,但我对java很熟悉。我在java中用来做这件事的代码有些相关,所以这可能是问题所在。让我知道你们看到了什么:
for b in range(0,9):
for x in range(0,9):
numHolder+=grid[b][x]
if sum(numHolder) != 45:
return False
numHolder=[]
【问题讨论】:
-
只是提醒一下,检查行和是否等于 45 是不够的。您还必须检查列总和和 3x3 块总和,以及每个中的值是否是唯一的并且在 [1..9] 中)。
-
@jedwards 是的,你说得对。这只是我的代码的一部分,我正在展示。我实际上已经在我的代码中实现了这些部分,我一直在寻找 3x3 的总和。如果你想查看的话,我又发了一篇关于它的帖子。 stackoverflow.com/questions/51114445/…
标签: python