返回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
答案 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))
您的代码没有问题,我想您忘了调用该函数。 我还为您的代码添加了一些小功能。