在 Python 中查詢數字中的位數
本教程將介紹 Python 中計算數字中位數的方法。
使用 Python 中的 math.log10()
函式查詢數字中的位數
Python 的 math
模組中的 math.log10()
函式用於查詢任何指定數字的以 10 為底的對數。由於整數也是以 10 為底的,因此我們可以使用此方法獲取指定整數內的位數。
以下程式碼片段向我們展示瞭如何使用 math.log10()
函式查詢數字中的位數。
import math
n = -10
if n > 0:
digits = int(math.log10(n)) + 1
elif n == 0:
digits = 1
elif n < 0:
digits = int(math.log10(-n)) + 2
print(digits)
輸出:
3
我們使用上面程式碼中的 math.log10()
函式計算了數字-10 中的位數。此程式碼還處理數字為 0 的情況,因為無法計算 0 的對數。我們首先檢查數字是否大於 0。如果數字大於 0,我們通過取對數並將結果加 1 來計算位數。完成此過程是因為任何數字的對數都比該數字內的位數少 1。
如果數字等於 0,我們將位數設定為 1。如果數字小於 0,我們通過取該負數的加法倒數的對數並將結果加 2 來計算位數。在負數的情況下,我們新增額外的 1,因為我們將 -
符號視為本示例中的數字。最後,我們在螢幕上列印數字的數量。
如果我們想確定整數中的位數,則此方法非常有用。但是,它不適用於十進位制數或任何帶有浮動小數點的數字。
在 Python 中使用 len()
函式查詢數字中的位數
len()
函式是 Python 中的一個內建函式,用於計算字串變數內的字元數。len()
函式將字串作為輸入引數並返回該字串中的字元數。要使用 len()
函式計算數字中的位數,我們首先必須使用 str()
函式將該數字轉換為字串。
str()
函式也是 Python 中的一個內建函式,用於將不同型別的物件轉換為字串變數。以下程式碼片段向我們展示瞭如何使用 len()
函式查詢數字中的位數:
n = -100.90
digits = len(str(n))
print(digits)
輸出:
6
我們使用上面程式碼中的 len()
函式計算了數字 -100.90 中的位數。首先,我們使用 str()
函式將數字轉換為字串。之後,我們將結果字串傳遞給 len()
函式,並將 len()
函式返回的值儲存在 digits
變數中。最後,我們將值列印在 digits
變數中。輸出清楚地表明,這種方法也適用於十進位制數或包含浮動小數點的數字。
len()
方法遠優於 math.log10()
方法,用於在 Python 中查詢十進位制數中的位數。原因是 len()
方法清晰、簡潔,並且與 math.log10()
方法不同,它可以處理浮點小數點,後者不必要地複雜並且不處理浮點小數點。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn