Python代碼實現與非門

使用普通方式實現與門

在這裏插入圖片描述

def get_and1(x1,x2):
    w1,w2,theta=0.5,0.5,0.7
    tmp = x1 * w1 + x2 * w2
    if tmp <= 0:
        return 0
    else:
        return 1
    
print(get_and1(0,0)) #0
print(get_and1(1,0)) #0
print(get_and1(0,1)) #0
print(get_and1(1,1)) #1

使用numpy的廣播功能實現與門

import numpy as np
def get_and2(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
    
print(get_and2(1,1)) #1
print(get_and2(1,0)) #0
print(get_and2(0,1)) #0
print(get_and2(0,0)) #0

實現非門

在這裏插入圖片描述

import numpy as np
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
print(get_nand(1,1)) # 0
print(get_nand(1,0)) # 1
print(get_nand(0,1)) # 1
print(get_nand(0,0)) # 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
print(get_or(1,1)) # 1
print(get_or(1,0)) # 1
print(get_or(0,1)) # 1
print(get_or(0,0)) # 0
   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章