如何解决“typeError 'int' object is not subscriptable”错误

问题描述 投票:0回答:1

我正在为班级制作四子棋游戏,但我的游戏功能遇到错误。

def play(grid,column,checker):
    
    counter = 0
    for x in grid[0]:
        counter += 1
    print(counter)
    if counter > column-1 :
        for row in reversed(grid):
            if row[column-1] == "empty":
                row[column-1] = checker
                print(True)
                return True,grid,checker
    else:
        print(False)
        return False  , grid , checker

问题出现在第 9 行(

if row[column-1] == "empty"
),我不断收到

typeError 'int' 对象不可下标

grid
是从不同函数返回的全局变量。

python python-3.x
1个回答
1
投票

这里的问题实际上是从不同的函数

grid
返回。您一定在那里犯了一些错误,这导致不同的函数返回
[1, 6, 3, 8, 3]
形式的内容,而您的
play
函数则采用
[[1, 5, 6, 2, 10], [1, 5, 6, 2, 10], [1, 5, 6, 2, 10], [1, 5, 6, 2, 10]]
形式的内容。

© www.soinside.com 2019 - 2024. All rights reserved.