You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python编写井字棋出现TypeError: list indices must be integers or slices, not list

问题排查结果

你遇到的报错是由istaken函数的代码笔误导致的:

  • 你在该函数中写的col = [1]是直接创建了一个值为[1]的列表,没有从传入的coords坐标元组中读取列索引
  • 后续执行board[row][col]时,用列表作为列表的索引,不符合Python语法要求,因此抛出对应的类型错误
修正方案

只需要修改istaken函数中的列索引取值逻辑即可,修正后的函数代码如下:

def istaken(coords,board):
  row = coords[0]
  col = coords[1] # 把原代码的[1]改为coords[1],从坐标元组取第二个元素作为列索引
  if board[row][col] != "-":
    print("Something's already there.")
    return True
  else: return False

修改后重新运行代码,输入1-9的数字就不会再触发该类型报错,可以正常判断位置是否被占用。

内容的提问来源于stack exchange,提问作者Ryan Brooks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:06:03