Pythong脚本可根据用户输入和类来计算下垂度和角度量度

问题描述 投票:0回答:2

到目前为止,找到斜边,“ c边”可以正常工作,问题是当我尝试计算角度时,我很确定它返回了错误的角度值。

导入数学从数学导入sqrt

三角类:

def __init__(self, side_a, side_b, ):
    self.side_a = side_a
    self.side_b = side_b

def SidesCalculate(self, ):
    side_c = sqrt(self.side_a ** 2 + self.side_b ** 2)
    return side_c

def AnglesCalculate(self, side_c):
    x = math.sin(self.side_a / side_c)
    math.asin(x)
    x = round(x * 180 / math.pi)
    return x

g = Triangle(side_a = int(input(“ Enter side a:”)),side_b = int(input(“ Enter side b:”))))print(“ side c =”,+ g.SidesCalculate())print(“ angle is =”,+ g.AnglesCalculate(side_c = True),'°')

python
2个回答
0
投票
def AnglesCalculate(self, side_c):
    x = math.asin(self.side_a / side_c)
    x = round(x * 180 / math.pi)
    return x

0
投票

这里是您想要做的一种方式。

首先计算side_c,然后将其另存为属性。

def SidesCalculate(self, ):
    self.side_c = sqrt(self.side_a ** 2 + self.side_b ** 2)
    return self.side_c

第二,给参数side_c设置默认值None。 (在CFL指出的以下函数中,您还会遇到另一个数学错误)

def AnglesCalculate(self, side_c = None):
    if side_c == None:
        side_c = self.side_c
    x = math.asin(self.side_a / side_c)
    x = round(x * 180 / math.pi)
    return x

现在,如果您希望班级选择以前计算的side_c,则可以执行此操作:

g = Triangle(side_a=int(input("Enter side a: ")), side_b=int(input("Enter side b: ")))
print("side c =", + g.SidesCalculate())
print("angle is =", + g.AnglesCalculate(), '°')
© www.soinside.com 2019 - 2024. All rights reserved.