正在寻找一种完美的解决方案来解决绝对差异吗?
num1 = 6
num2 = 3
for i in range(num1+1 , num2):
print(i, end=', ')
感谢您提供有效的答案和示例
答案 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)
您可以使用min
和max
。
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))