簡體   English   中英

將輸入中的檢查清單添加到python 3中的字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM