python - 问题从列表中的一行添加所有元素并获得总和
问题描述
我在这里遇到的问题似乎很简单,但是我一直在寻找适合我情况的解决方案,但找不到任何东西。基本上我想看看给定的网格是否是一个有效/可解决的数独游戏。我相信我的解决方法是正确的,我已经能够得到一列中所有数字的总和并检查它是否!= 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=[]
解决方案
当您+=
在列表上使用时,它会尝试将运算符右侧列表中的所有项目添加到左侧列表中。但是, anint
不是列表,因此您必须使用numHolder.append(grid[b][x])
.
推荐阅读
- graphics - How to get the color of a specific pixel drawn using SDL_RenderDrawPoint() on SDL2?
- python - Tensorflow preprocessing split string to chars
- python-3.x - loop over dict key-value-pair or each element in dict
- python - 按顺序发布最有趣的流派 - python app
- python - 如何根据标题值删除列?
- react-native - What's the correct way to transpile react-native to use with nodejs?
- php - Laravel 5.8:从空值创建默认对象
- python - 矩阵(列表)的元素总和,但仅在另一个矩阵(列表)中给出的索引处
- css - 如何在 P 类标签之后添加样式
- solidity - Solidity 智能合约中的 msg.sender 和 from address 有什么区别,都是同一个发起交易的人吗?