3

CodingBat からこの質問を試しています

3 つの int abc を指定すると、b または c の一方が「近い」(差が最大で 1) で、もう一方が「遠い」で、他の両方の値と 2 以上異なる場合に True を返します。注: abs(num) は数値の絶対値を計算します。

close_far(1, 2, 10) → True
close_far(1, 2, 3) → False
close_far(4, 1, 3) → True 

一連の if else ステートメントでこれを解決できることはわかっていますが、非常に長くなります。この質問に対する他のアプローチはありますか???

4

4 に答える 4

0

ちょっとした助け:

def close_far(a, b, c): return ((abs(a-c) >= 2 and abs(a-b) <= 1) and (abs(b-c) >= 2)) or ((abs(a-c) <= 1 and abs(a-b) >= 2) and (abs(b-c) >= 2))

于 2018-10-23T19:01:02.693 に答える