模块代码运行不正确

2024-09-27 04:27:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一些代码来显示用户选择的三面区域。如果输入不正确,我需要显示“输入无效”。当输入不正确时,我的代码将无法正确计算面积或显示“Input is invalid”(输入无效)。我真的需要帮助。以下是我需要做的事情的图片:

enter image description here

这是我的代码:

side1, side2, side3 = eval(input("Enter three sides in a double: "))

def isValid(side1, side2, side3):

    if side1 + side2 > side3 and side1 + side3 > side2 and side2 + side3 > side1: 
        return True
    else: 
        return None

def area(side1, side2, side3):

    s = (side1 + side2 + side3) / 2;

    totalArea = (s * (s - side1) * (s - side2) * (s - side3)) ** 0.5    

    return totalArea

def main():

    condition = isValid(side1, side2, side3)

    totalArea = area(side1, side2, side3)

    if True:
        print("The area of the triangle is " + str(totalArea))
    else:
        print("input is invalid")

main()

Tags: and代码trueinputreturnifisdef
1条回答
网友
1楼 · 发布于 2024-09-27 04:27:18

不要说if True,因为那样的话总会发生。相反,说if condition。另外,在isValid()中,您只需返回检查结果:

return side1 + side2 > side3 and side1 + side3 > side2 and side2 + side3 > side1

您的完整代码应如下所示:

side1, side2, side3 = eval(input("Enter three sides in a double: "))

def isValid(side1, side2, side3):
    return side1 + side2 > side3 and side1 + side3 > side2 and side2 + side3 > side1 

def area(side1, side2, side3):

    s = (side1 + side2 + side3) / 2;

    totalArea = (s * (s - side1) * (s - side2) * (s - side3)) ** 0.5    

    return totalArea

def main():

    condition = isValid(side1, side2, side3)

    totalArea = area(side1, side2, side3)

    if condition:
        print("The area of the triangle is " + str(totalArea))
    else:
        print("input is invalid")

main()

相关问题 更多 >

    热门问题