功能名称: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/