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

Python井字棋开发报错TypeError: Player() takes no arguments求解决

修复TypeError: Player() takes no arguments错误

你遇到的错误核心是Player类的构造函数没有定义接收参数的逻辑。当你执行Player(1)和Player(-1)时,Python会调用Player类的__init__方法,但默认的__init__不接受任何参数,因此触发TypeError。

解决方法:补全Player类的定义

你需要在代码里添加Player类的实现,确保其__init__方法能接收并存储你传入的玩家标识(1或-1),示例代码如下:

class Player:
    def __init__(self, player_id):
        # 存储玩家唯一标识,用于区分不同玩家
        self.player_id = player_id
        # 可选:给玩家分配对应的棋盘标记(比如X或O)
        self.sign = 'X' if player_id == 1 else 'O'

为什么这样能解决问题?

  • 自定义的__init__方法添加了player_id形参,刚好匹配你创建实例时传入的1和-1;
  • 通过self.player_id将参数值保存为实例属性,后续board.make_turn方法可以通过这个属性识别当前落子的玩家。

把这段Player类的代码放在你的主函数代码之前,就能正常创建Player实例,解决这个错误了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 16:09:16