亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

循環更改井字游戲矩陣中的值?

循環更改井字游戲矩陣中的值?

侃侃無極 2022-06-22 18:07:35
我正在制作一個井字游戲,并且我確實有工作代碼,并且到目前為止它可以完成我想要它做的事情。我只是想知道是否有辦法縮短這個功能。我的代碼如下...def EnterMove(board):    move = input("Enter your move (number between 1 - 9): ")    if move == '1':        board[0][0] = 'O'    elif move == '2':        board[0][1] = 'O'    elif move == '3':        board[0][2] = 'O'    elif move == '4':        board[1][0] = 'O'    elif move == '5':        board[1][1] = 'O'    elif move == '6':        board[1][2] = 'O'    elif move == '7':        board[2][0] = 'O'    elif move == '8':        board[2][1] = 'O'    elif move == '9':        board[2][2] = 'O'#Making the playing boardboard = []for i in range(3):    row = [Empty for i in range(3)]    board.append(row)board[0][0] = '1'board[0][1] = '2'board[0][2] = '3'board[1][0] = '4'board[1][1] = '5'board[1][2] = '6'board[2][0] = '7'board[2][1] = '8'board[2][2] = '9'所以就像我說的那樣,到目前為止,這一切都很好,我只是想知道是否有更簡單的方法來構建板和構建 EnterMove 功能。非常感謝。(注意:玩家移動將是“O”,而計算機將是“X”,我將向我們提供與玩家移動功能幾乎相同的代碼,但只是使用str(random.randint(1,9))它來決定計算機的移動)
查看完整描述

1 回答

?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

您可以使用除法和取模來獲取行和列:


def EnterMove(board):

    move = int(input("Enter your move (number between 1 - 9): ")) - 1

    board[move // 3][move % 3] = 'O'


board = []


for i in range(3):

    row = [Empty for i in range(3)]

    board.append(row)


for i in range(9):

    board[i // 3][i % 3] = str(i + 1)


查看完整回答
反對 回復 2022-06-22
  • 1 回答
  • 0 關注
  • 94 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號