我正在制作简单的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