是否可以使这项工作:
recognized = input("COMMAND: ")
if recognized == "command":
co = input("Input: ")
co()
这给了我" TypeError:' str'对象不可调用"
答案 0 :(得分:1)
从input()
返回的所有内容都是字符串。您可以使用
locals()['my_function']()
答案 1 :(得分:1)
如果要在字符串中执行语句,可以使用exec(co)
,但根本不建议这样做。你基本上是让任何代码在系统上运行,这可能是一个巨大的安全问题。
答案 2 :(得分:0)
使用eval
功能
co = input()
eval(co)
我想使用的一个小技巧,当我想要评估多个输入或用它们做某事时,
s = input()
while s != 'the end': ## here you should use something that can't occur
## in python itself in form of function or variable etc.
## here come things you want to do with s, e.g. print(eval(s))
s = input()
答案 3 :(得分:-1)
要定义函数,请使用def
def inputFunc():
return input("input: ")
co = inputFunk()
这为变量co
提供了您输入的任何值。
或者只是想要打印输入而不是调用它来使用它。
co = input("Input: ")
print(co)
这会打印您的输入。