Python 如何修复代码中的错误“TypeError:“int”对象不可编辑”?

Python 如何修复代码中的错误“TypeError:“int”对象不可编辑”?,python,python-3.x,Python,Python 3.x,我正在创建一个战舰游戏,这部分代码的方向是: 编写一个函数addShipsgrid,numShips,该函数将循环,直到将numShips ships添加到网格。对于循环中的每一次,它都应该使用createShip创建一艘飞船,然后在给定的网格上选中该飞船的飞船。如果返回的不清除列表为空,则可以放置船舶 到目前为止,我的职能是: def addShips(grid, numShips): createdShips = [] x = 0 while x < numS

我正在创建一个战舰游戏,这部分代码的方向是: 编写一个函数addShipsgrid,numShips,该函数将循环,直到将numShips ships添加到网格。对于循环中的每一次,它都应该使用createShip创建一艘飞船,然后在给定的网格上选中该飞船的飞船。如果返回的不清除列表为空,则可以放置船舶

到目前为止,我的职能是:

def addShips(grid, numShips):
    createdShips = [] 
    x = 0
    while x < numShips:
        createdShips.append(x)
        x = x + 1
        
    for ship in createdShips:
        not_clear = checkShip(grid, ship)
        if not not_clear:
            for loc in ship:
                grid[loc[0]][loc[1]] == 2
    return grid
我得到:

TypeError: 'int' object is not iterable 

在船上loc的行上:。函数checkShipgrid,ship本身运行良好,但是当我不得不从addShips调用它时,我得到了错误。我能怎么办?有人能帮我修复代码而不是仅仅解释错误的含义吗?我理解这个错误,但我不知道如何修复它,这是我的问题。

创建的ships是一个数组,其中填充了由createdShips.appendx行完成的int


然后,船上的loc行尝试遍历每艘船舶,但是如前所述,每艘船舶只是一个数字

您不能遍历一个数字,您需要一个列表,哪个船舶不是


在这句话中,你给函数def checkShipgrid,ship:赋予ship,ship:这个函数想要在函数中迭代一个数字,这是不可能的

在对数据进行迭代时,它应该始终是一种可编辑的数据类型,如列表、数组或字典。在您的情况下,请检查ship的数据类型并根据需要进行转换

您是否知道createdShips只是rangenumShips?如果不了解代码的功能或至少需要运行一个。。。现在还不清楚你期望createdShips是什么,它只是一个数字列表
TypeError: 'int' object is not iterable