【发布时间】:2017-06-05 16:12:37
【问题描述】:
我正在尝试定义一个执行布尔逻辑或门功能的函数。理想情况下,该函数应该接受字典,因为我的数据是字典格式。
我查过不同的东西,但现在卡住了。
我是这样开始的:
d = {'26': [0.5], '22': [0.5], '12': [0.5]}
def OR_function(**parameters):
pi *= (1 - parameters)
return (1 - pi)
OR_function(**d)
(我知道错了)
然后在阅读了一整天之后,我设法打开了字典,但我仍然无法执行递归原地产品。我看过函数式编程运算符,但它们只接受两个参数 [https://docs.python.org/3/library/operator.html]。
目前我的函数定义如下所示:
import operator
def OR_function(**parameters):
print(operator.imul(list(*parameters)))
#pi = 0
#for i, j in parameters.items():
# pi *= (1 - j[0])
#print(pi)
return 1 #- pi
它会引发以下错误: 'TypeError: op_imul 预期 2 个参数,得到 3'
有人可以帮助我吗? 欢迎使用替代方法来解决此问题。请务必在答案中解释代码,以便我可以学到一些东西。
【问题讨论】:
标签: python-3.x function dictionary