【发布时间】:2021-06-04 17:51:05
【问题描述】:
import numpy as np
def AND(x1, x2):
x = np.array(x1,x2)
w = np.array(0.5,0.5)
b = -0.7
tmp = np.sum(w*x) + b
if tmp <= 0:
return 0
else:
return 1
def NAND(x1, x2):
x = np.array([x1, x2])
w = np.array([-0.5, -0.5])
b = 0.7
tmp = np.sum(w*x) + b
if tmp <= 0:
return 0
else:
return 1
print(NAND(1,0))
print(NAND(1,1))
def OR(x1, x2):
x = np.array([x1, x2])
w = np.array([0.5, 0.5])
b = -0.2
tmp = np.sum(w*x) + b
if tmp <= 0:
return 0
else:
return 1
print(OR(0,1))
print(OR(0,0))
def XOR(x1, x2):
s1 = NAND(x1,x2)
s2 = OR(x1,x2)
y = AND(s1,s2)
return y
print(XOR(0,1))
我完成了与、或、与非门。它们都像我预期的那样工作。最后,我尝试通过按顺序组合 NAND、OR 和 AND 来创建 XOR 逻辑......但是这里出现了我从未预料到的回溯错误消息,如下所示。应该修改什么来实现我最初的目的。
TypeError:无法将“1”解释为数据类型
【问题讨论】:
标签: python numpy typeerror xor