import numpy as np
x = np.array([0,1])
def date():
w = np.array([1,0])
b = 0.1
x = [1,1]
# s = np.matmul(w,x)+b
s = np.sum(w * x) + b
print(int(round(s,0)))
def get_and(x1, x2):
x = np.array([x1, x2])
y = np.array([0.5, 0.5]) # 权重
b = -0.7 # 偏置
tmp = np.sum(x * y) + b
if tmp <= 0:
return 0
else:
return 1
def get_nand(x1, x2):#与非门
x = np.array([x1, x2])
y = np.array([-0.5, -0.5])
b = 0.7
tmp = np.sum(x * y) + b
if tmp <= 0:
return 0
else:
return 1
def get_or(x1, x2):
x = np.array([x1, x2])
y = np.array([0.5, 0.5])
b = -0.2
tmp = np.sum(x * y) + b
if tmp <= 0:
return 0
else:
return 1
def get_xor(x1, x2):
s1 = get_nand(x1, x2)
s2 = get_or(x1, x2)
y = get_and(s1, s2)
return y
if __name__ == "__main__":
print(get_xor(0, 1)) # 1
print(get_xor(1, 0)) # 1
print(get_xor(0, 0)) # 0
print(get_xor(1, 1)) # 0
1
1
0
0