AttributeError:'NoneType'对象没有属性'magnitude'

时间:2019-03-05 12:43:13

标签: python-3.x class

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'
在哪里可以找到错误,正如我所看到的,这与幅度部分有关。

1 个答案:

答案 0 :(得分:0)

在底部:

print(net_force.magnitude)

the_force为空,因为find_net_force的返回值。

您看到的异常应该有一个堆栈跟踪,显示您的行号。