大家好。
我的程序应该通过stdin
特定格式的命令来获取命令,例如:
"define f1 3 + 5"
通过获取此命令,我的程序应该创建一个名为"f1"的函数,该函数将返回操作"3+5"。
我怎样才能实现它?
您应该使用字典来存储具有给定名称的函数。通常,不应从字符串创建函数名称。
可以使用ast.literal_eval
安全地计算以字符串形式提供的计算。
下面是一个例子:
from ast import literal_eval
mystr = input('Enter a calculation:n')
# 'define f1 3 + 5'
_, name, calc = mystr.split(None, 2)
d = {name: literal_eval(calc)}
print(d['f1']) # 8