我在CodingBat上練習Python。在那裏,一個問題是:a,b和c的總和沒有計算雙重值?
給定3個int值,a b c返回它們的總和。但是,如果其中一個值與另一個值相同,則不計入總和。
而我的回答是:
def lone_sum(a, b, c):
if a==b:
return c
elif a==c:
return b
elif b==c:
return a
elif a==b and a==c:
return 0
else:
return a+b+c
但在執行時,它顯示除了一種情況確定。那是def long_sum(3,3,3)
。但是當我在第一次檢查中寫if a==b and a==c
時,它顯示一切正常。
爲什麼會發生這種情況?爲什麼我需要在第一張支票中寫入elif a==b and a==c
?
提示args來的所有元素:如果一個'== B'是真的,沒有其他條件被測試,包括'a == b和a == c'。重新排序。 – Dogbert 2013-03-21 16:04:34
太棒了!現在明白! – 2013-03-21 16:07:49