Python math.cmp() 方法



Python 的 math.cmp() 方法用于比较两个数字。此方法接受两个数值作为参数,例如 x 和 y,并返回这两个数字差值的符号:如果 x < y,则返回 -1;如果 x == y,则返回 0;如果 x > y,则返回 1。

此方法仅在 Python 2.x 版本中可执行,在 Python 3.x 中无法使用。

语法

以下是 Python math.cmp() 方法的语法:

math.cmp( x, y )

参数

  • xy - 这些是要比较的数值。

返回值

如果 x < y,此方法返回 -1;如果 x == y,则返回 0;如果 x > y,则返回 1。

示例

以下示例演示了 Python math.cmp() 方法的使用。在此,我们将两个数字作为参数传递给此方法,并显示返回值。但是,此方法仅在 Python 2 中有效。

print "cmp(80, 100) : ", cmp(80, 100)
print "cmp(180, 100) : ", cmp(180, 100)
print "cmp(-80, 100) : ", cmp(-80, 100)
print "cmp(80, -100) : ", cmp(80, -100)

运行以上程序时,会产生以下结果:

cmp(80, 100) :  -1
cmp(180, 100) :  1
cmp(-80, 100) :  -1
cmp(80, -100) :  1

示例

但是,要在 Python 3 中比较两个数字,可以定义一个类似于此内置 cmp() 方法的用户定义函数,如下例所示。

在这里,我们定义了一个函数“cmp”,它接受两个参数 x 和 y。当它在三种情况下被调用(x > y,x < y,x = y)时,此用户定义函数返回 x 和 y 值的符号差。

def cmp(x, y):
   return (x > y) - (x < y)
#x > y
x = 17
y = 11
print("The cmp value for x>y is : ",cmp(x, y),"\n")
#x<y
x = 5
y = 33
print("The cmp value for x<y is : ",cmp(x, y),"\n")
#x=y
x = 20
y = 20
print("The cmp value for x=y is : ",cmp(x, y))

The cmp value for x>y is :  1 

The cmp value for x<y is :  -1 

The cmp value for x=y is :  0
python_maths.htm
广告