我正在開發井字游戲中的兩個功能?!鞍濉笔且粋€列表,用戶使用小鍵盤放置他或她的標記。該數字是“板”列表的索引。第一個函數 - 檢查棋盤上是否有空位可玩并返回布爾值(如果有空位,則返回 True)。第二個函數 - 從用戶那里獲取他們放置標記的位置,然后使用第一個函數檢查它是否是空閑位置board = ['#','X','O','X',' ','X','O','X','O','X']def space_check(board, position): return board[position] == ' '我測試它-space_check(board, 4)>Truedef player_choice(board): position = input("Player's next move") if space_check(board, position) == True: return position錯誤:TypeError:列表索引必須是整數或切片,而不是 str我是新手,如果這是一團糟,我深表歉意。我非常感謝您的幫助。
2 回答
幕布斯7119047
TA貢獻1794條經驗 獲得超8個贊
默認情況下,python 中的input()函數將用戶輸入作為 a 返回str。
因為這是一個字符串 - 您無法訪問該列表 - 因此TypeError
這可以通過簡單地將input()語句轉換為 a來解決int:
position = int(input("Player's next move"))現在,如果您嘗試此操作,它應該可以按預期工作!
肥皂起泡泡
TA貢獻1829條經驗 獲得超6個贊
input 的默認返回值為 str 類型。
改變
position = input("Player's next move")到
position = int(input("Player's next move"))添加回答
舉報
0/150
提交
取消
