我正在考虑一种方法,当程序获得用户的输入时,即。 '1' 然后它使用字典映射到命令/代码并触发该命令/代码
这是我的代码:
Q = int(input("hi")) 'user will input 1 in here
dic = {'1': input("yo")}
result = dic(Q) 'Q will equal 1 here and program will fire the command
print(result)
Python 假定 result = dic(Q) 作为可调用函数,并在打印时给出错误。所以我的问题是如何解决这个问题?
最佳答案
您的问题是 dic
是一本字典,您可以使用下标访问字典的元素,例如 -
dic[Q]
此外,当您定义像 - dic = {'1': input("yo")}
这样的字典时,命令会在此时自行运行,它不会等待用户输入要运行的命令。
一种简单且安全的方法是为每个命令使用函数,然后将该函数添加到字典中,并在用户输入 key 时调用它。示例-
def inputfunc():
res = input("yo")
return res
dic = {1: inputfunc}
Q = int(input("hi"))
if Q in dic:
result = dic[Q]()
print(result)
关于python:执行字典中的内容(命令),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31823361/