如何修复python中未定义的错误?

如何修复python中未定义的错误?,python,python-3.x,Python,Python 3.x,Hy,我被困在最后一部分,如果我必须写位置标记(位置标记(棋盘,玩家2标记,位置)),它不识别标记,它说它是一个未定义的变量,有什么想法吗 这是我的脚本:(因为这个问题还没有完成) 这是我运行代码后的控制台,它无法识别我所写的数字,因为最终的脚本尚未完成 欢迎来到Tic-Tac-Toe! 你叫什么名字player1?:俏皮话 你叫什么名字player2萨米 player1将先走 准备好比赛了吗?是还是不是Y | | | | | | 请选择1到9:1之间的位置 请选择1到9:2之间的位置 请

Hy,我被困在最后一部分,如果我必须写位置标记(位置标记(棋盘,玩家2标记,位置)),它不识别标记,它说它是一个未定义的变量,有什么想法吗

这是我的脚本:(因为这个问题还没有完成)

这是我运行代码后的控制台,它无法识别我所写的数字,因为最终的脚本尚未完成

欢迎来到Tic-Tac-Toe!
你叫什么名字player1?:俏皮话
你叫什么名字player2萨米
player1将先走
准备好比赛了吗?是还是不是Y
| | 
| | 
| | 
请选择1到9:1之间的位置
请选择1到9:2之间的位置
请选择1到9:3之间的位置
它还在问我一个号码

我试图更改place_标记代码的一些参数,但没有成功

def place_marker(board, marker, position):
    board[position] = marker
place_marker(the_Board, player2_marker, position)

您的问题正是您标记它的地方:

place_marker(the_Board, player2_marker, position)

这是对
player2\u标记的第一次引用。在引用它之前,你需要在某个地方初始化它!我想这很简单,只要在你的例子中将其设置为“O”或“X”。

嗨,谢谢你的回答,我意识到,我将我的脚本与课程解决方案脚本进行了比较,我发现我在播放器输入时做了一个修改,只是返回了格式化的句子,所以我用返回“X”、“0”或“0”、“X”的代码更改了我的代码,这是分配给player 1,player 2=player_input(),i meat player 1=x,player 2=o或reverse,这样我可以在place_标记函数中引入变量x(分配给player 1)或o(分配给player 2),也有一些小错误,现在终于可以工作了

我没有看穿那堵代码墙,但“未定义变量”错误意味着未定义变量。您所要做的就是在尝试访问变量之前定义该变量。当检查为空字符串时,为什么只包含
返回板[position]=''
的函数被称为
空格检查
,我将我的脚本与课程解决方案脚本进行了比较,发现我在播放器输入时做了一个修改,这只是返回格式化的句子,所以我用返回“x”、“0”或“0”、“x”的代码来更改代码,该代码被分配给播放器1、播放器2=player\u input()、播放器1=x和播放器2=o或反向,所以我可以在place_marker函数中引入变量X(分配给玩家1)或O(分配给玩家2),也有一些小错误,现在终于可以工作了!!
place_marker(the_Board, player2_marker, position)