在Python中轻松添加

在Python中轻松添加

功能名称:lone_sum

参量
a:一个整数值
b:整数值
c:一个整数值

给定3个整数值,a,b,c返回它们的总和。但是,如果其中一个值与另一个值相同,则不会计入总和。

返回值:a,b和c的总和,不包括类似的值。

我有这个,我完全迷失了!我想念什么?

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

最佳答案

问题 :

1)

a!=b and b!=c


这个测试还不够:a可能等于c。 (例如1,0,1

2)

如果为a==b and b==c,则总计应为a,而不是0,对吗?

解决方案

修改后的代码

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


另类

您只需将值打包到set中即可删除重复项:

def lone_sum(a,b,c):
    return sum(set([a,b,c]))

print(lone_sum(1,2,3))
# 6
print(lone_sum(1,2,2))
# 3
print(lone_sum(3,3,3))
# 3


请注意,此行为与您的描述相对应,而不与您的代码相对应(最后一个示例为0)。

另外,使函数适应n值很简单:

def lone_sum(*values):
    return sum(set(values))

关于python - 在Python中轻松添加,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43287709/

10-11 06:58