我想在 python 中编写一个程序,用户可以决定在运行时运行什么操作,但我也想让我的程序设计得好以便能够添加操作轻松。 让我们说用户输入“3 4 add” 然后输出将是7 如果他写“3 4 mul” 那么输出就是12。
请注意,我不是在寻找传统的“if,elif,elif”等, 因为我想制作一个允许其他程序员轻松添加操作的设计。
我应该使用什么模式,以及有关如何实施它的任何提示/指南?
编辑:只是为了确保我已经解释过自己,其他程序员无法访问主程序的代码,但是他们应该仍然能够为程序添加不同的操作
感谢。
答案 0 :(得分:1)
import operator
# custom function
def diff_squares(a, b):
return a ** 2 - b ** 2
operators = {'add' : operator.add,
'sub' : operator.sub,
'mul' : operator.mul,
'div' : operator.div,
'dos' : diff_squares}
data = raw_input('Question: ')
data = data.split()
a = int(data[0]) # one number
b = int(data[1]) # two number
answer = operators[data[2]](a, b)
print 'Solution:', answer