[英]Check list from input added to string in python 3
嗨,堆棧溢出社區,我正在使用Python 3開發國際象棋棋子預測器,但遇到障礙,問題是我試圖根據輸入從方格檢查可能棋子的列表。 但是,為了顯示此舉是用於黑色還是白色,我必須在其后加aw。 如何檢查列表由字符串和輸入組成的名稱? 這是第一步的可能動作列表:
PWA2m = ["A3", "A4", "B3"]
PWB2m = ["B3", "B4", "C3", "A3"]
PWC2m = ["C3", "C4", "D3", "B3"]
PWD2m = ["D3", "D4", "E3", "C3"]
PWE2m = ["E3", "E4", "D3", "F3"]
PWF2m = ["F3", "F4", "E3", "G3"]
PWG2m = ["G3", "G4", "F3", "H3"]
PWH2m = ["H3", "H4", "G3"]
K1WB1m = ["A3", "C3"]
K2WG1m = ["F3", "H3"]
到目前為止,這是檢查器:
wmove = input("What square are you moving from?")
if wmove == "":
Piece = squares.get(wmove)
如果用戶輸入了有效的正方形,我希望它輸出如下內容:
Possible Moves for PawnWhite:
B3, B4, C3, A3
聽起來您正在嘗試通過搜索列表名稱來訪問不同作品的列表。 但是,程序通常不應該訪問變量的名稱。 一個簡單的解決方案是使用dict
來存儲片段及其可能性列表:
current_state = {"A1":"Kw", "B5":"Qb"} # and so on
current_possibilities = {"A1": ["B2", "A2"], "B5":["B4", "B6", "C4", "C5", "C6"]}
然后,您可以輕松訪問當前的作品位置/它們可以在其中移動的位置:
print("The piece at {} is a {} and can move to: {}".format(
input, current_state[input][:-1], current_possibilities[input]))
給定上面的輸入"A1"
,然后將打印:
The piece at A1 is a K and can move to: ['B4', 'B6', 'C4', 'C5', 'C6']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.