![](/img/trans.png)
[英]TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'
[英]Unsupported operand type(s) for *: 'int' and 'NoneType'
确切的错误如下:
Traceback (most recent call last):
File "C:/Users/Name/Downloads/MachineLearning.py", line 73, in <module>
class d0:
File "C:/Users/Name/Downloads/MachineLearning.py", line 83, in d0
z = hypothesis1(W0,W1,W2,W3,Z0,Z1,Z2,Z3)
File "C:/Users/Name/Downloads/MachineLearning.py", line 41, in hypothesis1
W0 * Z0 + W1 * Z1 + W2 * Z2 + W3 * Z3
TypeError: unsupported operand type(s) for *: 'int' and 'NoneType'
这是导致错误的代码:
x0 = 1
z0 = 1
x1 = int(input("Enter 0 or 1: "))
x2 = int(input("Enter 0 or 1: "))
y = ""
learning_rate = 0.1
w1 = 1
w2 = 1
w3 = 1
w4 = 1
w5 = 1
w6 = 1
w7 = 1
w8 = 1
w9 = 1
v1 = 1
v2 = 1
v3 = 1
v4 = 1
if x1 == 0 and x2 == 0:
y = 0
elif x1 == 1 and x2 == 0:
y = 1
elif x1 == 0 and x2 == 1:
y = 1
elif x1 == 1 and x2 == 1:
y = 0
else:
y = 0
def hypothesis(W0,W1,W2,X0,X1,X2):
W0 * X0 + W1 * X1 + W2 * X2
def hypothesis1(W0,W1,W2,W3,Z0,Z1,Z2,Z3):
(W0 * Z0) + (W1 * Z1) + (W2 * Z2) + (W3 * Z3)
class z1:
W0 = w1
W1 = w4
W2 = w7
X0 = x0
X1 = x1
X2 = x2
z = hypothesis(W0,W1,W2,X0,X1,X2)
class z2:
W0 = w2
W1 = w5
W2 = w8
X0 = x0
X1 = x1
X2 = x2
z = hypothesis(W0,W1,W2,X0,X1,X2)
class z3:
W0 = w3
W1 = w6
W2 = w9
X0 = x0
X1 = x1
X2 = x2
z = hypothesis(W0,W1,W2,X0,X1,X2)
class d0:
W0 = v1
W1 = v2
W2 = v3
W3 = v4
Z0 = z0
Z1 = z1.z
Z2 = z2.z
Z3 = z3.z
z = hypothesis1(W0,W1,W2,W3,Z0,Z1,Z2,Z3)
print(z1.z)
该错误似乎只与类d0
一致,所以如果可以的话,有人可以解释为什么会发生这种情况,我该如何解决? 我已经尝试完全注释掉它,但它仍然返回与上面类似的错误。 但是,当我尝试打印其他的时,它返回None
。
功能
def hypothesis(W0,W1,W2,X0,X1,X2):
W0 * X0 + W1 * X1 + W2 * X2
def hypothesis1(W0,W1,W2,W3,Z0,Z1,Z2,Z3):
(W0 * Z0) + (W1 * Z1) + (W2 * Z2) + (W3 * Z3)
当前不显式返回任何内容,因此它们隐式返回None
。 既然你这个返回值分配给z
类中z1
, z2
和z3
,当您稍后尝试访问这些类d0
通过z1.z
,例如,你会得到一个None
价值,你的乘法hypothesis1
会提高你看到的错误.
相反,您可能想要返回计算结果,即:
def hypothesis(W0,W1,W2,X0,X1,X2):
return W0 * X0 + W1 * X1 + W2 * X2
def hypothesis1(W0,W1,W2,W3,Z0,Z1,Z2,Z3):
return (W0 * Z0) + (W1 * Z1) + (W2 * Z2) + (W3 * Z3)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.