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
廣告