为什么调用预设流程时,它一直显示TypeError: 'generator'对象不可索引?

2024-03-29 12:18:36 发布

您现在位置:Python中文网/ 问答频道 /正文

def randomise_Chests_Bandits (sign,xSize,ySize,grid,pX,pY) :

    import random
    x = random.randint(0,xSize-1) #get a random x coordinate
    y = random.randint(0,ySize-1) #get a random y coordinate
    if (x == pX and y == pY) or (grid[x][y] != " "):
        grid = randomise_Chests_Bandits(sign,xSize,ySize,grid,pX,pY)
    else: 
        grid[x][y] = sign 
    return grid

它由以下人员调用:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

^{pr2}$

为什么它总是说TypeError:“generator”对象在调用预定义进程时不可下标?在

Traceback (most recent call last):
    File "E:\AQA Game Final Coding With Help.py", line 271, in <module>
        Overall_Menu ()
    File "E:\AQA Game Final Coding With Help.py", line 264, in Overall_Menu
        grid = add_Chests_Bandits(grid,chestCount,banditCount,xSize,ySize,pX,pY)
    File "E:\AQA Game Final Coding With Help.py", line 223, inadd_Chests_Bandits
        grid = randomise_Chests_Bandits ('0',xSize,ySize,grid,pX,pY)
    File "E:\AQA Game Final Coding With Help.py", line 215, in randomise_Chests_Bandits
    if (x == pX and y == pY) or (grid[x][y] != " "):
TypeError: 'generator' object is not subscriptable

Tags: pygamewithrandomgridfilefinalbandits
1条回答
网友
1楼 · 发布于 2024-03-29 12:18:36

以下是我对你问题的解释:

def randomise_Chests_Bandits (sign,xSize,ySize,grid,pX,pY) :

    import random
    x = random.randint(0,xSize-1) #get a random x coordinate
    y = random.randint(0,ySize-1) #get a random y coordinate
    if (x == pX and y == pY) or (grid[x][y] != " "):
        grid = randomise_Chests_Bandits(sign,xSize,ySize,grid,pX,pY)
    else:
        grid[x][y] = sign

    return grid


chestCount = 10
grid = [[" "]*20]*20
for chestCount in range (0,chestCount):
    grid = randomise_Chests_Bandits ('0',20,20,grid,10,10)

print(grid)

可能你忘了初始化数组,这是输出:

^{pr2}$

相关问题 更多 >