【发布时间】:2012-06-04 17:16:09
【问题描述】:
我在Coding Bat做一些练习题,遇到了这个..
Given 3 int values, a b c, return their sum. However, if one of the values is the same as another of the values, it does not count towards the sum.
lone_sum(1, 2, 3) → 6
lone_sum(3, 2, 3) → 2
lone_sum(3, 3, 3) → 0
我的解决方案如下。
def lone_sum(a, b, c):
sum = a+b+c
if a == b:
if a == c:
sum -= 3 * a
else:
sum -= 2 * a
elif b == c:
sum -= 2 * b
elif a == c:
sum -= 2 * a
return sum
有没有更 Pythonic 的方式来做到这一点?
【问题讨论】:
-
关于代码缩进,看这个stackoverflow.com/editing-help。或者,单击 ?编辑框顶部的图标。
-
@mhawke:我遵循了 4 个空格缩进,但在预览中没有显示额外的缩进,所以有点困惑。感谢您编辑代码!
-
请感谢 Martin 的清理工作!