【发布时间】:2016-04-18 20:57:12
【问题描述】:
我正在制作简单的井字游戏(不像我想象的那么简单)。 我想创建一个函数来询问玩家想要玩哪个符号(x 或 o)。我有返回值的问题。它只是不会返回任何东西......就像没有任何改变一样。
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在这里作为参数是没有意义的。参数用于调用者告诉函数事情,而不是函数告诉调用者事情。 -
可能是markdown问题,但是缩进好像不对。确保 def 和 while 之后的所有内容都缩进 4 个空格。
-
你应该对
player_choice和computer_choice做点什么吗?对函数的调用也很棒
标签: python-2.7 return return-value function