确保两个数的正差

时间:2019-05-07 20:28:14

标签: python

正在寻找一种完美的解决方案来解决绝对差异吗?

num1 = 6
num2 = 3
for i in range(num1+1 , num2):
    print(i, end=', ')

感谢您提供有效的答案和示例

7 个答案:

答案 0 :(得分:4)

您实际上可以使用内置的absolute value函数

abs(x-y) # will return x - y if x >= y, y - x otherwise

另一种可能性是使用内置的min和max函数:

for i in range(min(x, y), max(x, y) + 1):
    do_something()

答案 1 :(得分:3)

您可以对数字进行排序并解压:

num1, num2 = sorted((num1, num2))

您可以使用三元运算符:

num1, num2 = num1, num2 if num1 < num2 else num2, num1

但是简单的if可以减少循环的浪费(如果没有屏幕空间的话):

if num1 >= num2:
    num1, num2 = num2, num1

答案 2 :(得分:2)

将两个值放在一个列表中并对其进行排序可能更简单:

print(sorted([num1, num2]))

答案 3 :(得分:2)

您可以使用minmax

low = min(num1, num2)
high = max(num1, num2)

for i in range(low, high):
    ...

答案 4 :(得分:1)

if num1 > num2:
    temp = num1
    num1 = num2
    num2 = temp

print(range(num1, num2))

答案 5 :(得分:1)

您可以对两个数字进行排序:

num1, num2 = sorted(int(input('Enter num%d: ' % i)) for i in range(1, 3))

答案 6 :(得分:1)

Python中的abs()

abs()函数用于返回数字的绝对值。

语法:

abs(number)

number:可以是整数,是浮点数

数字或复数

abs()仅接受一个参数,该参数的绝对值将被返回。该参数可以是整数,浮点数或复数。

如果参数是整数或浮点数,则abs()以整数或浮点数返回绝对值。 如果是复数,abs()仅返回幅度部分,也可以是浮点数。

result = abs(abs(num1)-abs(num2))