2017-02-22 37 views
0

私はユーザーの入力から関数を呼び出そうとしていますが、どのように考え出すのは苦労しています。たとえば、プログラムを実行して"3* foo"と入力すると、出力("333333333333333333")が返されますが、TypeError: 'str' object is not callableが返されます。何かご意見は?python変数のカスタム関数の呼び出しを呼び出す

def func3(): 
print ("333333333333333333") 

command="3* foo" #command would be an input usually 
f=command.split() 
dic="1*":"func1", "2*":"func2", "3*":"func3"} 
function_caller=(dic[f[0]]) 
(function_caller)() 

エラー:

TypeError: 'str' object is not callable 

答えて

0

あなたは、文字列を呼び出す辞書の値から、二重引用符を削除しようとしている、それは次のようになります。

dic = {"1*": func1, "2*": func2, "3*": func3}