我明明定义了函数 AND() NAND() OR() XOR()
可是运行显示
name 'NAND' is not define
import numpy as np
class perceptron:
def AND(x,y): # 定义与门
b=-0.7
m=np.array([x,y])
w=np.array([0.5,0.5])
tmp=np.sum(m*w)+b#利用矩阵运算
if tmp<=0 :
return 0
else:
return 1
def NAND(x,y):#定义与非门
b=-0.7
m=np.array([x,y])
w=np.array([0.5,0.5])
tmp=np.sum(m*w)+b
if tmp<=0 :
return 1
else:
return 0
def OR(x,y):#定义或门
b=-0.4
m=np.array([x,y])
w=np.array([0.5,0.5])
tmp=np.sum(w*m)+b
if tmp<=0:
return 0
else:
return 1
def XOR(x,y):
s2=OR(x,y)
s1=NAND(x,y)
z=AND(s1,s2)
return z
d=perceptron
d.XOR(1,1)
NameError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_15012/3159189255.py in <module>
1 d=perceptron
----> 2 d.XOR(1,1)
~\AppData\Local\Temp/ipykernel_15012/2324730699.py in XOR(x, y)
30 def XOR(x,y):
31 s2=OR(x,y)
---> 32 s1=NAND(x,y)
33 z=AND(s1,s2)
34 return z
NameError: name 'NAND' is not defined