如何在Python中獲取整數的符號?


簡介

Python整數是主要的資料型別之一,幾乎用於所有主要的數學和邏輯運算。在Python中,整數是零、正或負整數,沒有小數部分,精度無限。它們可以用二進位制、八進位制和十六進位制表示。在本文中,我們將學習如何獲取整數的符號。

使用的方法

  • 使用簡單的數學比較與零

  • 使用math模組的copysign()函式

  • 使用numpy.sign()函式

  • 使用abs()函式建立方法

方法1:使用與零的數學比較

我們可以使用正數和負數的基本數學定義來查詢給定整數的符號。我們使用基本的if-else結構來確定數字的符號。

語法

if number>0 return 1
else if number<0 return -1
else return 0

在這種方法中,我們使用級聯的if-else-if結構,在整數數軸上的零點建立一個決策點。如果使用者輸入的數字大於零,程式返回+1;如果小於零,程式返回-1;如果為零,程式返回零作為答案。

演算法

步驟1 - 獲取使用者輸入,確定要確定符號的整數

步驟2 - 建立一個'if'語句,初始條件是如果輸入數字大於零,則函式返回1

步驟3 - 建立一個級聯'else-if'條件,如果輸入數字小於零,則返回-1

步驟4 - 建立一個最終的'else'條件,如果輸入數字為零,則函式返回零

示例

def solution(number):
   if (number>0):
      return 1
   elif (number<0):
      return -1
   else:
      return 0

val =-2
sol = solution(val)
print(sol) 

輸出

-1

方法2:使用math模組的copysign()函式

math模組中的copysign()函式返回第一個引數的值,其符號與第二個引數的符號相同。因此,我們將1作為第一個引數來查詢作為第二個引數輸入的整數的符號。此函式可以處理整數、浮點數以及正負NaN的值。

語法

return copysign(1,number)

要執行此操作,我們需要呼叫copysign函式。作為引數,我們需要傳遞兩個數字,函式將第一個數字的幅度和第二個數字的符號作為單個數字返回。

演算法

步驟1 - 匯入math模組

步驟2 - 從使用者處獲取要確定其符號的整數輸入

步驟3 - 根據給定的語法,將整數作為第二個引數傳遞給copysign()函式

示例

import math
def solution(number):
   return int(math.copysign(1,number))
val = -2
sol = solution(val)
print(sol) 

輸出

-1

方法3:使用numpy.sign()函式

numpy模組提供了一個sign()函式,可用於確定整數的符號。這非常有用,因為Python的math庫中沒有預設的sign()函式。它可以用於整個整數陣列,以逐元素顯示符號。

語法

numpy.sign(array [], out)

語法非常簡單,它呼叫sign函式並傳遞兩個引數。只有第一個引數是必需的,第二個引數是可選的。第一個引數傳遞元素陣列,第二個引數是帶有結果的輸出陣列。

演算法

步驟1 - 匯入numpy模組

步驟2 - 獲取需要確定符號的陣列中的輸入元素

步驟3 - 呼叫sign()函式並傳遞包含目標元素的陣列

步驟4 - 顯示輸出值,即整數的符號

示例

import numpy as user #importing numpy
array=[25, -25, 0] #input array
print("input array : ", array) #input array with elements
print("Check sign of array : ", user.sign(array)) #signs of elements

輸出

input array: [25 -25 0]
Check sign of array: [1 -1 0]

方法4:使用abs()函式建立方法

我們可以使用abs()函式來定義一個返回整數符號的sign函式。abs()函式返回數字的絕對值。

語法

return x/abs(x) 

這裡我們將整數除以其絕對值來查詢整數的符號。由於這裡我們除以兩個整數,因此函式返回一個浮點值,但是它適用於整數。

演算法

步驟1 - 定義一個函式

步驟2 - 將要確定其符號的數字作為引數傳遞給函式

步驟3 - 建立一個'if-else'結構來檢查輸入整數是否為零

步驟4 - 透過將整數除以其絕對值來顯示輸出值

示例

def int_sign(x):
   if (x==0): return 0
   else: return x/abs(x)
num=-2
print(int_sign(num))    

輸出

-1.0

結論

在本文中,我們討論了一些方法,可以透過這些方法找到使用者提供的或程式中設定的整數的符號。本文通常是針對Python編寫的,但是類似的方法也適用於不同的程式語言。

更新於:2023年3月24日

12K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.