首页 > 解决方案 > 问题从列表中的一行添加所有元素并获得总和

问题描述

我在这里遇到的问题似乎很简单,但是我一直在寻找适合我情况的解决方案,但找不到任何东西。基本上我想看看给定的网格是否是一个有效/可解决的数独游戏。我相信我的解决方法是正确的,我已经能够得到一列中所有数字的总和并检查它是否!= 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=[]

标签: python

解决方案


当您+=在列表上使用时,它会尝试将运算符右侧列表中的所有项目添加到左侧列表中。但是, anint不是列表,因此您必须使用numHolder.append(grid[b][x]).


推荐阅读