[英]How to use variable of function for another one? (Python)
我是 Python 的初学者。 我开始为一个名为“井字游戏”的游戏编写一些代码。 为此,我在下面创建了一些函数:
import random
def choose_first():
random.randint(1, 2)
if random.randint(1,2) == 1:
print('Player 1 is first to play')
player1_input()
elif random.randint(1,2) == 2:
print('Player 2 is first to play')
player2_input()
def player1_input():
player1=''
marker=''
while marker !='X' and marker !='O':
marker=input('Player 1, choose X or O: ')
return marker
player1==marker
if player1=='X':
player2='O'
else:
player2='X'
return (player1,player2,marker)
def player_choice(board):
position = int(input('Which position you want to choose? '))
if space_check is True:
return position
def place_marker(board, marker, position):
board[position] = marker
这是使用这些功能的一段代码:
def game_on():
board = ['#','','','','','','','','','']
choose_first()
while not full_board_check(board):
player_choice(board)
place_marker(board, marker, position)
display_board(board)
while full_board_check(board):
if win_check(board, mark):
print('Player using', marker, 'won')
else:
print("It's a tie!")
当我选择 position 时,它返回此错误:
<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
似乎“标记”变量没有从player_input()
返回,但我需要在另一个 function 中使用他(在这种情况下放置标记)。 怎么做? 如果可以的话请帮忙。
我认为您应该做的是在获取输入之前放置global marker
:
global marker
marker=input('Player 1, choose X or O: ')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.