注册 登录
编程论坛 Python论坛

if语句print输出问题

wzkwzk01 发布于 2023-03-02 10:36, 709 次点击
正确输出,错误不输出,原因没找到。代码如下:
a=int(input("请输入三角形第一条边的长度:"))
b=int(input("请输入三角形第二条边的长度:"))
c=int(input("请输入三角形第三条边的长度:"))
if a==0 or b==0 or c==0:
    var="三角形的任一边长不能为0."
    print(var)
    exit()
elif a*a!=b*b+c*c:
    var = "错误,这不是直角三角形的三条边。"
elif b*b!=a*a+c*c:
    var = "错误,这不是直角三角形的三条边。"
elif c * c != a * a + b * b:
    var = "错误,这不是直角三角形的三条边。"
else:
    var = "正确,这是一个直角三角形。"
    print(var)
3 回复
#2
sheeboard2023-03-02 13:46
程序代码:

def triangle(a,b,c):
    if any([a==0,b==0,c==0]):
        print('任何一边不能为零')
    elif any([(a*a == b*b+c*c),(b*b == a*a+c*c),(c*c == a*a+b*b)]):
        print("是直角三角形")

参考
#3
东海ECS2023-03-02 19:26
错误原因分析:
1.变量'var'在if语句中声明,是局部变量
把第一次var的赋值放在"if"外
2."print"语句在"else"内部,只有正确才能执行.
将"print"放到"else"外,错误就没有了

希望对你有帮助!

[此贴子已经被作者于2023-3-2 19:56编辑过]

#4
zz123062023-03-17 14:03
三角形不得判断两边之和大于第三边吗
1