我正在製作簡單的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