Python—找出两个值是否相等,而其中一个值小于或等于另外两个值

Python—找出两个值是否相等,而其中一个值小于或等于另外两个值,python,Python,我正在实现一个函数来测试序列中的超度量。明确地 我使用的是3点条件 我的部分代码有问题。 我有一个由3个数字组成的序列,如果两个数字相等,一个小于或等于两个相等的数字,我想返回true 例如: 输入:[0.8,0.8,0.6] 输出:真 输入:[0.4,0.8,0.8] 输出:真 输入:[0.6,0.7,0.8] 输出:False 输入:[0.8,0.9,0.8] 输出:假快速解决方案: def do_compare(arr): a, b, c = sorted(arr) ret

我正在实现一个函数来测试序列中的超度量。明确地 我使用的是3点条件

我的部分代码有问题。 我有一个由3个数字组成的序列,如果两个数字相等,一个小于或等于两个相等的数字,我想返回true

例如:

输入:[0.8,0.8,0.6]

输出:真

输入:[0.4,0.8,0.8]

输出:真

输入:[0.6,0.7,0.8]

输出:False

输入:[0.8,0.9,0.8] 输出:假

快速解决方案:

def do_compare(arr):
    a, b, c = sorted(arr)
    return a <= b == c

这只是三种不同的情况:

def equal3(a, b, c):
  return (c <= a == b) or (b <= a == c) or (a <= b == c)

您将其称为equal3*[0.9,0.8,0.8],其中*表示您要解压缩列表。

要清楚,问题要复杂得多,这只是编码的一小部分。如果你认为我只是在问问题的答案,这里有一个问题的图像。。。我想做一个while循环,但我不确定它会给出正确的答案。我把我当前的代码放在上面。如果两个数字相等,一个小于或等于两个相等的数字,我会犹豫是否张贴它,以防我的同学复制它。->输入:[0.8,0.8,0.8]输出:False???我的错误,抱歉。我的大脑现在显然不起作用:我猜第一个条件规定必须有两个相等的元素,而第三个元素必须小于这两个元素或相等,但在这种情况下,将有三个相同的数字,不满足第一个要求哇,太简单了。。。我一定是睡眠不足,无法找到此解决方案,谢谢。我回答时应为arr[0],OP要求[0.8,0.8,0.8]为false。不过,这一要求似乎已被删除。将回滚我的答案。啊,谢谢你解释星号。我从来不知道它会那样做