我使用以下脚本尝试回答this问题:

def isEquilateral(x, y, z):
    if x<0 or y <0 or z<0:
        return False
    elif x==y==z:
        return True
    else:
        return False


它返回了Private Test Cases,我不知道这是否是软件错误,或者我的代码确实有问题。有人可以帮忙吗?谢谢。

更新01

问题如下:
编写一个函数isEquilateral(x,y,z),该函数接受三角形的3个边作为参数。如果程序是等边三角形,则程序应返回True。

例子

>>> isEquilateral(2, 4, 3)
False
>>> isEquilateral(3, 3, 3)
True
>>> isEquilateral(-3, -3, -3)
False

最佳答案

尽管我对他们的反馈系统不满意,但问题是,当x,y,z == 0时,您返回True。一个更简单的解决方案:

def isEquilateral(x, y, z):
    if x == y == z and x > 0:
        return True
    return False


还有一个更简单的解决方案,它使用更多的chained comparisons来展示Python的美丽(感谢F.J!):

def isEquilateral(x, y, z):
    return x == y == z > 0

10-06 14:28