我正在開發(fā)井字游戲中的兩個功能?!鞍濉笔且粋€列表,用戶使用小鍵盤放置他或她的標記。該數字是“板”列表的索引。第一個函數 - 檢查棋盤上是否有空位可玩并返回布爾值(如果有空位,則返回 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
提交
取消