Просто застрял в моем коде, искал источник для других, но есть другая реализация, я должен быть слепым или ... но похоже, что функции ссылаются на одну переменную, когда в моем понимании, если я вызываю функцию, которая возвращает «change», а функция возвращается обратно к месту в коде, когда ему не следует объявлять более раннюю переменную, но эта переменная, возвращаемая функцией, и следующая вызов той же функции снова должны переключать мою переменную (X и O), просто отредактируйте фрагмент этого кода: получилось X или O (что я выбираю), правильная печать переменной, но тогда выход функции - XXX и т. Д. (Я только начал учиться, но просто застрял здесь!)Изменить поворот в tic-tac-toe не работает
def choice():
choice = input("You want to have x or o?: ")
if choice == 'x':
human = 'X'
computer = 'O'
else:
human = 'O'
computer = 'X'
return human, computer
human, computer = choice()
print("human is ", human)
print("computer is ", computer)
def next_player(turn):
if turn == 'X':
return 'O'
else:
return 'X'
turn = 'X'
print("turn is ", turn)
turn = next_player(turn) # was here: next_player(turn) and so below!!
print("after next player function turn is ", turn)
turn = next_player(turn)
print("after next player function turn is ", turn)
Возможный дубликат (http://stackoverflow.com/questions [Как передать переменную по ссылке?]/986006 /, как-ду-я миновать-а-переменной по ссылке) –