2017-03-28 81 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): 
    ...