Я делаю легкую игру Tic Tac Toe (не так просто, как я думал, это будет). Я хочу создать функцию, которая спрашивает игрока, какой знак хотел бы играть (x или o). У меня проблема с возвращаемыми значениями. Он просто ничего не вернет ... как ничто не изменилось.Функция не вернет новое значение Python 2.7
player_choice = ''
computer_choice = ''
def player_sign(player, computer):
choice = raw_input("Do you want to be X or O?: ").lower()
while choice != 'x' and choice != 'o':
print "Error!\n Wrong input!"
choice = raw_input("Do you want to be X or Y?: ").lower()
if choice == 'x':
print "X is yours!"
player = 'X'
computer = 'O'
return player, computer
elif choice == 'o':
print "You've chosen O!"
player = 'O'
computer = 'X'
return player, computer
else:
print "Error!\n Wrong input!"
return 0
player_sign(player_choice, computer_choice)
Пытались с образцами, как присвоения значений player_choice и computer_choice и печатает начальную строку. Что я делаю не так?
Как вы называете эту функцию? Похоже, что ваша проблема, вероятно, является непониманием того, какие параметры и значения возврата действительно существуют. Например, для 'player' и' computer' нет смысла здесь аргументировать. Аргументы используются для того, чтобы вызывающий мог рассказать о функциях, а не о том, чтобы функция могла рассказать о вещах своему вызывающему. – user2357112
Возможно, это проблема с уценкой, но отказ кажется неправильным. Удостоверьтесь, что все когда-либо после def и while отступали на 4 пробела. – falstaff
Предполагаете ли вы что-то делать с 'player_choice' и' computer_choice'?, Также звонок функции будет замечательным – gerosalesc