CodingBat で Python を練習しています。そこには、次のような質問があります。
3 つの int 値 abc を指定すると、それらの合計が返されます。ただし、値の 1 つが別の値と同じである場合、合計にはカウントされません。
そして私の答えは:
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
しかし、実行すると、1 つのケースを除いて OK と表示されます。それはdef long_sum(3,3,3)
です。しかしif a==b and a==c
、最初のチェックに書き込むと、すべてが問題ないことを示しています。
なぜこれが起こっているのですか?なぜelif a==b and a==c
最初の小切手に書く必要があるのですか?