0

我正在实现一个按顺序测试超度量(?)的功能。具体来说,我使用的是 3 点条件

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

例如:

输入:[0.8,0.8,0.6]

输出:真


输入:[0.4,0.8,0.8]

输出:真


输入:[0.6, 0.7, 0.8]

输出:假


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

4

2 回答 2

7

快速解决方案:

def do_compare(arr):
    a, b, c = sorted(arr)
    return a <= b == c
于 2013-11-06T07:58:49.027 回答
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])where*意味着您要解压缩列表。

于 2013-11-06T08:01:56.033 回答