teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

うまくいかなかった方のコードも追記しました

2021/12/10 07:57

投稿

Tomoko.rekikou
Tomoko.rekikou

スコア0

title CHANGED
File without changes
body CHANGED
@@ -58,5 +58,50 @@
58
58
  print (XOR(1,0))
59
59
  print (XOR(1,1))
60
60
  ```
61
+ ```python
62
+ import numpy as np
63
+
64
+ def NAND(x1,x2):
65
+ x = np.array([x1,x2])
66
+ w = np.array([-0.5,-0.5])
67
+ b = 0.7
68
+ tmp = np.sum(x*w) + b
69
+ if tmp <= 0:
70
+ return 0
71
+ elif tmp > 0 :
72
+ return 1
73
+
74
+ def OR(x1,x2):
75
+ x = np.array([x1,x2])
76
+ w = np.array([2,2])
77
+ b = -1
78
+ tmp = np.sum(x*w) + b
79
+ if tmp <= 0:
80
+ return 0
81
+ elif tmp > 0 :
82
+ return 1
83
+
84
+ def AND(x1,x2):
85
+ x = np.array([x1,x2])
86
+ w = np.array([0.5,0.5])
87
+ b = -0.7
88
+ tmp = np.sum(x*w) + b
89
+ if tmp <= 0:
90
+ return 0
91
+ elif tmp > 0 :
92
+ return 1
93
+
94
+ def XOR(x1,x2):
95
+ s1 = NAND(x1,x2)
96
+ s2 = OR(x1,x2)
97
+ y = AND(s1,s2)
98
+ return y
99
+
100
+ print (XOR(0,0))
101
+ print (XOR(0,1))
102
+ print (XOR(1,0))
103
+ print (XOR(1,1))
104
+ ```
105
+
61
106
  ### 試したこと
62
107
  NANDゲート、ORゲートを単体で作ったときは、elifのコードでも問題なく動きました。elifとelseの違い、こうなってしまう理由を教えていただけると嬉しいです。