2016-05-26 39 views
0

我正在做一個遊戲,有人可以通過符號選擇一個方塊,然後在該方塊上執行一個動作。考慮象棋,即對a2或a3執行操作。例如,我需要a2作爲數組。我如何獲取用戶的輸入並將其作爲數組的名稱?Python - 如何將用戶輸入用作數組名稱?

我基本上可以使其與工作:

if user_input == "a2": 
    a2 = ["value 1"] 
elif user_input == "a3": 
    a3 = ["value 1"] 

我想,必須有一個更好的辦法。這是很大的開銷,並不容易擴展。

-MS

+0

使用字典。 – zondo

回答

0

使用dict,你就可以在運行時設置按鍵:

board = dict() 
square = user_input 
board[square] = ["value 1"] 

這將使您在代碼中逐一處理所有方塊,這是我認爲您的問題所在。

+0

這就是我需要的。我曾經想過字典,但沒有意識到你可以把多種價值。經過測試和工作。謝謝。 – Spitzer

0

使用詞典:

h = {} 
if user_input == "a2": 
    h["a2"] = ["value 1"] 
elif user_input == "a3": 
    h["a3"] = ["value 1"] 

現在,好消息是,你可以因式分解代碼:

h = {} 
h[user_input] = ["value 1"] 
+0

那麼,你可以使用'exec'。這不是一個好主意。 – zondo

+1

等待,_hashes_與散列表或Python字典不同,對吧? – ForceBru

+1

「你不能在運行時命名變量」 - 你可以在'globals()'字典中添加新條目,雖然這樣做很少有動機。 –

相關問題