我使用以下脚本尝试回答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