2017-03-28 115 views
0

所以我試圖找到一種方法來找到3個int之間的區別;因此我需要找出a-b和b-c 之間的差異,然後如果差異相同則打印真,否則打印爲假。 我一直在試圖使用abs()函數,但似乎無法得到我需要的結果。任何幫助,將不勝感激。Python - 查找2個數字之間的差異

這是問題的聲明:

給出3個整數,A B C,其中的一個是小,一個是中型和
一個是大的。如果三個值均勻分隔,則打印爲真, 所以中小型之間的差異與 中等和大型之間的差異相同。

這是我迄今爲止;

a = int(input()) 
b = int(input()) 
c = int(input()) 

if abs(a-b) == abs(b-c) : 
    print("True") 
else : 
    print("False") 

Test Input Expected Actual 
1  4 6 2 True False 
2  6 2 4 True False 
3 10 9 11 True False 
+3

那麼,有什麼問題呢?代碼不符合您的預期?如果是這樣,你提供什麼樣的輸入,你期望輸出什麼,以及你實際得到了什麼輸出? – smarx

+2

你想要的輸出是什麼?你嘗試過什麼樣的輸入,它們與你所期望的不一樣? – lordingtar

+0

不要在冒號前加空格。另外,這並不是我見過的最習慣的Python代碼片段,所以您可能想要注意Python開發人員使用並遵循這些設計模式。 –

回答

2

基於對問題的描述,這聽起來像你需要的數字排序第一:

numbers = sorted(int(input()) for _ in range(3)) 
print(numbers[1] - numbers[0] == numbers[2] - numbers[1]) 
+0

這工作!謝謝 – MLJezus

1

你有3個可能的 「中間」 的數字,因此您需要執行3個比較。

x = abs(a - b) 
y = abs(a - c) 
z = abs(b - c) 
if (x == y) or (x == z) or (y == z): 
    ...