2016-05-26 42 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()'字典中添加新条目,虽然这样做很少有动机。 –

相关问题