如何将函数的变量用于另一个变量?(Python)

如何将函数的变量用于另一个变量?(Python),python,function,variables,tic-tac-toe,Python,Function,Variables,Tic Tac Toe,我是Python的初学者。我开始为一个叫做“Tic-tac-toe”的游戏编写代码。 为此,我创建了以下一些函数: 随机导入 def选择_first(): random.randint(1,2) 如果random.randint(1,2)==1: 打印('玩家1是第一个玩') player1_输入() elif random.randint(1,2)==2: 打印('玩家2是第一个玩') player2_输入() def播放器1_输入() player1='' 标记=“” 而马克X'和标记!='

我是Python的初学者。我开始为一个叫做“Tic-tac-toe”的游戏编写代码。 为此,我创建了以下一些函数:

随机导入
def选择_first():
random.randint(1,2)
如果random.randint(1,2)==1:
打印('玩家1是第一个玩')
player1_输入()
elif random.randint(1,2)==2:
打印('玩家2是第一个玩')
player2_输入()
def播放器1_输入()
player1=''
标记=“”
而马克X'和标记!='O':
marker=input('Player 1,选择X或O:')
返回标记
player1==标记器
如果player1='X':
player2='O'
其他:
player2='X'
返回(播放机1、播放机2、标记器)
def播放器选择(板):
position=int(输入('要选择哪个位置?'))
如果空格检查为真:
返回位置
def放置_标记(板、标记、位置):
板[位置]=标记器
下面是一段使用这些函数的代码:

def game_on():
董事会=['#','','','','','','','','','','']
选择_first()
未满板检查时(板):
玩家选择(棋盘)
放置标记(板、标记、位置)
显示板(单板)
全板检查时(板):
如果赢了检查(板、标记):
打印('Player using',marker',won')
其他:
打印(“这是一条领带!”)
当我选择位置时,它返回以下错误:

<ipython-input-117-d37edecdd743> in game_on()
      5     while not full_board_check(board):
      6         player_choice(board)
----> 7         place_marker(board, marker, position)
      8         display_board(board)
      9     while full_board_check(board):

NameError: name 'marker' is not defined
在游戏中
5未满板检查时(板):
6玩家选择(棋盘)
---->7放置标记(板、标记、位置)
8显示板(单板)
9当全板检查(板)时:
NameError:未定义名称“标记”

“marker”变量似乎不是从
player\u input()
返回的,但我需要在另一个函数中使用它(在这种情况下用于放置marker)。怎么做?如果可以,请提供帮助。

我认为您应该做的是在获取输入之前放置
全局标记:

global marker
marker=input('Player 1, choose X or O: ')

您从不使用返回的值。您应该有类似于player1、player2、marker=player\u input()的东西。
。请注意,函数中使用的变量名称是函数的局部名称,因此与调用该函数的代码中使用的名称无关。