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

如何修复文本类井字棋游戏中的Tuple对象赋值错误

解决文本类井字棋游戏中的TypeError错误

错误原因

报错TypeError: 'tuple' object does not support item assignment的核心原因是:你定义的place是元组(tuple),而元组是Python中的不可变数据类型,无法直接修改其内部元素的值,代码里place[i] = "X"这行尝试修改元组元素,触发了这个错误。

修复方案

将place的定义从元组改为列表(list),列表是可变数据类型,支持元素赋值操作。

修改后的完整代码

import os
import time
board = [1,1,0,0,0,0,0,0,1]
# nine spaces for the tic tac toe board

# 把元组()改成列表[]
place = [' ',' ',' ',' ',' ',' ',' ',' ',' ']

print(len(board))
while True:
    os.system('cls')

    for i in range(8):
        if board[i] == 1:
            place[i] = "X"

    # 修复原print语句中重复的place[4],应该是place[3]
    print(" ", place[0] , " ", place[1], " ", place[2], "\n", 
          " ", place[3], " ", place[4], " ", place[5], "\n", 
          " ", place[6], " ", place[7], " ", place[8])
    # 添加延迟避免刷新过快
    time.sleep(1)

额外提示

原代码的print语句里有个小问题:第二行的第一个元素写了两次place[4],应该是place[3],已在修改后的代码中修正;另外循环内无延迟会导致屏幕刷新过快,建议添加time.sleep(1)控制刷新频率。

内容的提问来源于stack exchange,提问作者Omar Alomary

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 14:12:09