我正在制作简单的Tic Tac Toe游戏(并不像我想象的那么容易)。 我想创建一个函数,询问玩家想要玩哪个牌子(x或o)。我有一个返回值的问题。它只会赢回任何东西......就像什么都没有改变一样。
Meteor.settings.public.s3path
尝试使用像为player_choice和computer_choice分配值的样本,并打印出初始字符串。我做错了什么?
答案 0 :(得分:0)
你需要在你的代码中调用player_sign(player_choice,computer_choice)
答案 1 :(得分:0)
您希望在函数内变异不可变类型(字符串)。这是不可能的。有关详细说明,请参阅问题:How do I pass a variable by reference?。
您应该做的只是将函数的返回值赋给调用函数的范围中的名称。
def player_sign():
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 None, None
player_choice, computer_choice = player_sign()