看来我的代码没有将列表中的整数转换为字符串。这是我的问题代码:

def aidrawboard(aiboard):
    for i in aiboard:
        inttostr = aiboard[i]
        str(inttostr)
        aiboard[i] = inttostr
        for i in aiboard:
            if aiboard[i] == '3':
                aiboard[i] = '0'
            break
    print(aiboard)
    print("THIS IS THE AI BOARD")
    print('   |   |')
    print(' ' + aiboard[7] + ' | ' + aiboard[8] + ' | ' + aiboard[9])
    print('   |   |')
    print('-----------')
    print('   |   |')
    print(' ' + aiboard[4] + ' | ' + aiboard[5] + ' | ' + aiboard[6])
    print('   |   |')
    print('-----------')
    print('   |   |')
    print(' ' + aiboard[1] + ' | ' + aiboard[2] + ' | ' + aiboard[3])
    print('   |   |')


该代码用于战舰游戏。列表白板的示例是[0,0,2,0,0,0,0,0,0,0]

我收到错误“ TypeError:无法将'int'对象隐式转换为str”,错误指向

print(' ' + aiboard[7] + ' | ' + aiboard[8] + ' | ' + aiboard[9])


对不起,如果错误很新。这是我第一年的编码。

最佳答案

由于在abiword列表中存储的项目是整数,因此在打印时需要将元素(要打印)的数据类型转换为字符串。

print(' ' + str(aiboard[7]) + ' | ' + str(aiboard[8]) + ' | ' + str(aiboard[9]))

10-08 11:09