Python-找出2个值是否相等而1是否小于或等于其他2个值

时间:2013-11-06 07:55:14

标签: python

我正在实现一个在序列中测试超参数(?)的函数。特别 我正在使用3点条件

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

例如:

输入:[0.8,0.8,0.6]

输出:True


输入:[0.4,0.8,0.8]

输出:True


输入:[0.6,0.7,0.8]

输出:错误


输入:[0.8,0.9,0.8] 输出:错误

2 个答案:

答案 0 :(得分:7)

快速解决方案:

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

答案 1 :(得分:3)

这只是三个不同的条件:

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

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