class Force:
def __init__(self,magnitude,angle):
self.magnitude = magnitude
self.angle = angle
def get_horizontal(self):
return self.magnitude * cos(radians(self.angle))
def get_vertical(self):
return self.magnitude * sin(radians(self.angle))
def get_angle(self,use_degrees = True):
if use_degrees:
return self.angle
else:
return radians(self.angle)
def find_net_force(forces):
tot_hor = 0
tot_ver = 0
for i in forces:
tot_hor += i.get_horizontal()
tot_ver += i.get_vertical()
magnitude = (tot_hor ** 2 + tot_ver ** 2) ** 0.5
magnitude = round(magnitude,1)
angle = degrees(atan2((tot_ver),(tot_hor)))
angle = round(angle,1)
force_1 = Force(50, 90)
force_2 = Force(75, -90)
force_3 = Force(100, 0)
forces = [force_1, force_2, force_3]
net_force = find_net_force(forces)
print(net_force.magnitude)
print(nIt_force.get_angle())当我执行这段代码时,
打印(net_force.magnitude)
AttributeError:“”NoneType“”对象没有属性“”magnitude“”
在哪里寻找误差,因为我可以看到一些东西与幅度部分有关。
发布于 2019-03-05 20:47:10
它在底部:
print(net_force.magnitude)由于find_net_force的返回值,the_force为null。
您看到的异常应该有一个堆栈跟踪来显示行号。
https://stackoverflow.com/questions/55003113
复制相似问题