我在这里遇到的问题似乎很简单,但我一直在寻找一个解决方案,在我的情况下,没有找到任何东西。基本上,我想看看给出的网格是否是一个有效/可解的数独游戏。我相信我的解决方法是正确的,我已经能够得到一列中所有数字的总和,并检查它是否正确!=45.我遇到的问题是,当我尝试将一行中的每个数字相加时,会出现以下错误:
TypeError: 'int' object is not iterable
我不明白为什么我会犯这个错误。我仍在学习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=[]
在列表上使用
+=
时,它会尝试将运算符右侧列表中的所有项添加到左侧列表中。但是,int
不是一个列表,因此您必须使用numHolder.append(grid[b][x])
写
if numHolder != 45:
而不是if sum(numHolder) != 45:
sum
函数需要一个list
、tuple
等,但不是一个值更新:如果numHolder是
list
,那么您应该写:相关问题 更多 >
编程相关推荐