Python中值的总和,不包括相等的值

时间:2017-04-25 05:28:23

标签: python addition

返回3个数字的总和,但如果它们相同,则不计入总数。你能帮我找一下我的代码中的错误吗?

def lone_sum(a,b,c):
    t=0
    if a==b and a!=c:
        t=a+c
    elif a==c and a!=b:
        t=a+b
    elif b==a and b!=c:
        t=b+c
    elif b==c and b!=a:
        t=b+a
    elif c==a and c!=b:
        t=a+b
    elif c==b and c!=a:
        t=b+a
    elif a==b and b==c:
        t=a
    return t

3 个答案:

答案 0 :(得分:3)

更简单的解决方案:

def lone_sum(a, b, c):
    return sum({a, b, c})

答案 1 :(得分:1)

您可以使用set这样的

在两行代码中实现它
def lone_sum(a,b,c):
    return sum(set([a,b,c]))

这比上述所有代码都高效得多。我建议这是因为我认为编程是为了有效地解决问题。

答案 2 :(得分:0)

def lone_sum(a,b,c):
    if a==b and a!=c:
        t=a+c
    elif a==c and a!=b:
        t=a+b
    elif b==a and b!=c:
        t=b+c
    elif b==c and b!=a:
        t=b+a
    elif c==a and c!=b:
        t=a+b
    elif c==b and c!=a:
        t=b+a
    elif a==b and b==c:
        t=a
    else:
        t = a + b + c
    return t
print (lone_sum(21, 32, 32))

您的代码没有问题,我想您忘了调用该函数。 我还为您的代码添加了一些小功能。