я делал некоторые проблемы практики в 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
Есть ли более питонический способ сделать это?
Что касается кода отступы, посмотрите на эту http://stackoverflow.com/editing-help. Или нажмите? значок в верхней части окна редактирования. – mhawke
@mhawke: Я следовал за 4-мя отступом, но в предварительном просмотре он не показывал никаких дополнительных отступов, поэтому немного запутался. Благодарим за редактирование кода! – mankand007
благодарю Мартина за уборку! – mhawke