我使用以下脚本尝试回答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
,我不知道这是否是软件错误,或者我的代码确实存在问题。有人可以帮忙吗?感谢。
问题如下: 写一个函数isEquilateral(x,y,z),它接受三角形的3个边作为参数。如果程序是等边三角形,程序应该返回True。
实施例
>>> isEquilateral(2, 4, 3)
False
>>> isEquilateral(3, 3, 3)
True
>>> isEquilateral(-3, -3, -3)
False
答案 0 :(得分:4)
虽然我对他们的反馈系统没有留下深刻印象,但问题是当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
答案 1 :(得分:1)
这对我有用
def isEquilateral(x, y, z):
if (x == y or x == z) and x > 0:
return True
return False
答案 2 :(得分:0)
这对我有用
def isEquilateral(x, y, z):
a = [x,y,z]
for e in a:
if e> 0:
if x==y==z:
return True
else:
return False
else:
return False